I got fed up enough that I just put together this AppleScript that checks every 10 seconds for the offending window's presence and automatically click the OK button. Since the alert has no title, experiment revealed its enumeration to be "window 1". Along the way it seemed to think "window 1" always exists and containing static text, so that's why there's so many "exist" tests to prevent tripping an error.
I test the value for the end of text as I receive it after the device's name (if present). If your message reads differently (e.g. you have another language setting), adjust accordingly. Same for if your button doesn't read "OK". You can also change the idle delay as you see fit (units are in seconds on the return statement in the idle section).
I store whether iTunes was hidden at launch and at each failed test and restore that state only when it detects the alert, because the alert itself forces iTunes to become visible.
Put this in AppleScript Editor and Save As a "Stay Open" app, naming it however you like. This might be a useful basis for any other annoying alerts you want to dismiss automatically.
In testing, I found I could make the alert appear within 12 seconds of turning on the iPad.
There's probably room for improvement, like quitting automatically if iTunes quits or waiting for iTunes to be launched to do its work. I've tweaked it enough for now.
Code:
global iTunesVisible
on run
tell application "System Events"
if not (exists process "iTunes") then return
tell process "iTunes"
set iTunesVisible to visible
end tell
end tell
end run
on idle
tell application "System Events" to tell process "iTunes"
if (exists window 1) then
if (exists value of item 1 of static text of window 1) then
if (value of item 1 of static text of window 1 contains "cannot be used because it requires a newer version of iTunes. Go to www.tunes.com to download the latest version of iTunes.") then
if exists (button "OK" of window 1) then
click (button "OK" of window 1)
set visible to iTunesVisible
end if
end if
else
set iTunesVisible to visible
end if
end if
end tell
return 10
end idle