I've got a Microsoft Natural Ergonomic Keyboard 4000, with the latest IntelliType drivers installed. There is an option to swap a Caps Lock and a Control key in the Microsoft Keyboard preferences pane, but no way to use Caps Lock as a second Control key.
Changing the Modifier Keys in System Preferences > Keyboard helps, but resets after the restart. Reset happens only when Microsoft Keyboard Helper is launched. These settings were always saved after the restart with another third-party keyboard I've been using before.
Using ControllerMate helps, but it's slow, buggy and, obviously, a huge overkill for my needs.
KeyRemap4MacBook and PCKeyboardHack are not working. I guess Microsoft Keyboard driver overrules them.
Repairing permissions does not help either.