An application needs to be loaded by the system, while the Script Editor (and the script) is already loaded. Running the application a second time should be faster, since it is already cached.
A script bundle is mainly used if you have other scripts or support files that you want bundled together - starting in Snow Leopard, a script application will always be a bundle.
The application icon is placed in the /Contents/Resources/ folder of the application bundle, and the file name (along with other configuration items such as the bundle identifier, document types, copyright info, etc) is placed under the appropriate key in the Info.Plist file - see the Information Property List Key Reference.
This might also explain why AppleScriotObjC in Xcode is a bit faster, since everything is a script object.