I don't believe there's a way to detect new users, only new installations, which isn't the same thing. Storing and checking a "first run" date will still result in showing ads to paying users if they reinstall your app or install it on a new device.
Yup, but it's definitely close enough - especially contrasted against the OP's chosen approach of doing no targeting whatsoever.
Also, iCloud's NSUbiquitousKeyValueStore gives us NSUserDefault-like data storage that syncs across the user's iCloud account (iOS 5 and up required). This makes the firstLaunchData approximation very near to perfect.