If the application was written for Windows XP, the programmers wouldn't make use of Vista flags in the first place, unless their testing procedures really was crappy or they didn't know what they were doing. Also, ROS identifies itself to applications as Server 2003. At that point, it really is up to the applications to not use APIs they should know isn't there. It ultimately is up to programmers to do their jobs.
Z98