It has to do with the way Windows and Mac OS X (as well as Linux) store and retrieve the system's realtime clock.
Windows expects it to be stored in local time.
Mac OS X (and Linux) by default expect it to be stored in UTC (otherwise known as Greenwich Meantime, or Zulu time.)
You can change the behavior with Linux in the /etc directory by changing some config files. I don't know how to do this on OS X.
So, basically what will happen is this:
Say you're in the EST when you set your clock in OS X. You reboot into Windows XP. It thinks the realtime clock is local, so it thinks the time is 5 hours earlier than it really is. You set the clock. You then reboot, and now your OS X clock is wrong.