Hate when this happens, but if that's the reason I think making the file read-only might make it stick. Gonna try it now.
Hmm. Well, I just did that, opened up Napoleanic, the controls there were default, thought it didn't work, opened crpg and they were as I had left them before locking the controls.dat file. So maybe this works.
Incidentally, the file in question is at C:\Users\username\AppData\Roaming\Mount&Blade Warband
controls.dat, right click, properties, check read-only, apply, ok
Ah, but this might also mean not being able to change controls in game without first making it not read-only again. So you know. Keep that in mind.