Make sure you delete the content of the original config.cfg file, and re-write your custom binds on that one. If you have an alternate config file, and you play a game on it, whatever binds you use in-game will be saved to the orig. config.cfg. Then even though you may exec a 3rd config, it will still read binds on the config.cfg.
I discovered this when me and a roomie were using the same comp. to play, and we had separate configs for our own settings.