COM objects had some strange issues when dealing with threads and as part of this several different threading models existed, Single Threaded Apartment being one of them.
Windows Forms only really supports COM interop when using this STA model. Even if you are not directly using any COM yourself your application might be indirectly (e.g. clipboard support) so specifying this just removes the potential for problems and should always be included.
The only thing I can imagine different is going to be behind the scenes, IIRC Application.Run pretty much does the same as a normal windows message pump while ShowDialog also performs additional work required by dialog boxes such as pre translating messages. That is a bit of speculation and a bit of looking with reflector.