In fairness, an SD card in an SD card slot IS a removable device and is not a hard drive. Are you using the SD card as ReadyBoost cache or something?
Although you can use them as a hard drive of sorts, that is not what they're designed for. You shouldn't really have anything permanent like linked or addressable files stored on what is essentially a transient device in computing terms. You might be able to get away with it, but that's not how it's designed to work.
Furthermore, Windows 7 would benefit phenomenally from having an SSD as it's hard drive, even more so than XP. It is completely unfair for you judge between these two systems, as that component difference alone throws everything out of balance. 7 is like 8 years newer than XP. It is more complex and resource hungry and yet you seem to expect better of it on the same or, in this case, inferior hardware. That isn't how anything works, Linux included.