MacBook Pro Keyboard - How to Swap / Remap Keys?
On OS X: DoubleCommand
On Windows: SharpKeys
For anything more extensive, you'll want AutoHotkey (Windows) or IronAHK (AutoHotkey rewrite that works with Mono for cross-platform compatibility - Linux, Mac, etc).
On the Snow Leopard side you can swap Control and Fn with Karabiner (formely KeyRemap4MacBook).
If you're dual-booting, a good idea is to swap Command and Control in OS X's preferences. You'll get physically same keyboard shortcuts on both.
Just as a sidenote you may also consider taking a look at the normal OS X system preferences under Keyboard there is a button on the lower-right named "Modifier keys" where you can define which actions should be taken by the modifier keys (caps-lock, ctrl, cmd,...). Could also be enough in some situation without installing 3rd-party software.
There is keyboard maestro that does this