Permanently swapping option and command keys on a non-Apple keyboard
I assume you already know about the Keyboard Pref Pane. I had exactly the same problem with an Ergonomic and an Arc. The settings didn't stick with external keyboards.

Install KeyRemap4MacBook. It works for any Mac, btw. It remaps keys on all keyboards of a Mac - try to use Enter as Right-Cmd, e.g.


Set Cmd to Alt etc. for all keyboards in KeyRemap4MacBook (both right and left). 
Switch the keys in the Keyboard Pref Pane for the internal keyboard.
Et voilà!


I figured out that weird hack some time ago. It turned out to be rock solid. Only thing to remember: hardware based utilities such as SteerMouse use the 'real' keys, so you need to switch around some things.