It technically possible, but IMHO we shouldn't. AFAIK this violates design principles (which names I forgot :)) when some application is trying to fix the whole world around it. You (any developer, not James specifically) are producing multi-threaded app (and this is noted in the docs). Whether there are multiple cores to run it, whether the user is allowed to use those cores, whether OS actually works as advertised, etc. - none of those policies are of your concern, it's user's problem. I.e. I'm not saying we do not have to support users at all, but fixes to problems should go where hey belong. In this particular case the system should be fixed, or documented, or something, rather than every app in the world would check if it runs in such an environment.
Ah, I think your original description confused me - this is not caused by some code or packaging bug in FlightGear, I guess? I.e it's not like file-permissions or similar where we are supposed to make some call or have the package install a file / set group membership to be allowed to have affinity to multiple to cores?