I don't know if you've tried this, but it worked for me to run it in win98 - I haven't tried it in XP yet as I haven't installed my new computer yet, but I don't see any reason this shouldn't work in XP - it's worth a try anyway. Because A Final Unity (which is a fantastic, amazing game btw ;-)) was never meant to run under any kind of windows, you have to fool the game into thinking you're not in windows, when actually you are. I couldn't find the orginal instructions I used to do this, but I think these ones are the same:
1. Put the Star Trek: The Next Generation "A Final Unity"
disc in the CD-ROM drive.
2. Click on "My Computer."
3. Double-click on the drive letter for your CD-ROM drive.
4. Use your right mouse button to click on "Install."
5. Click on "Properties."
6. Click on the Program tab.
7. Click on "Advanced."
8. Click on "Prevent MS-DOS based programs from detecting
9. Click on OK.
10. Click on OK.
11. Double-click on the "Install" icon.
If you receive a message that your CD-ROM drive is too slow,
ignore it. The CD-ROM speed test is invalid in a multitasking
environment. You may also receive a suggestion to set up an icon
for MS-DOS mode as the installer tests your video card. In most
cases you can ignore this message. (If you're running a machine
that meets the absolute minimum system requirements, you may
want to set up that icon.)
12. The installer should be able to detect all of your hardware.
Accept the defaults.
13. To run the game, find the directory where you installed Star
Trek: The Next Generation "A Final Unity," then look for the
STTNG.EXE file and click on it with the right mouse button.
14. Click on "Properties."
15. Click on the Program tab.
16. Click on "Advanced."
17. Click on "Prevent MS-DOS based programs from detecting Windows."
18. Click on OK.
19. Click on OK.
20. Now double-click on the new STTNG icon.
I know this worked for me under win98, and I'll definitely be trying it when I install my new XP computer. The only problem I found was, the game tended to cut back to desktop at random intervals, so just keep saving as you go along so you don't lose too much if stops for no reason.
Good luck! I hope this works for you.