Charlotte, I am wondering about your reasoning for the need for Windows, thus:
1) citrix, there is a perfectly good, supported citrix client for Linux (I set up a call centre dual booting desktops with windows/thin linux citrix client and can vouch for it's stability and usefulness, so much so that a number of users stopped using the windows boot option and stuck with Citrix)
2) Watching DVDs, that's what Mplayer, Xine and VLC are for!
Provided you have libdvdcss and libdvdread installed all is good with the world
3) GPS - I would make a good guess that it could be supported natively, or if not via Wine. Which make and model is it? I currently have Memory map working fine on my Dell laptop (running Fedora 9), but currently do not have a GPS to test the connectivity with.