The game is supposed to have write access to q3config.cfg... in the case when you change settings through the menu, it saves those changes to that file. Normally, you would have your custom binds in something like "custombinds.cfg" and launch the game to read it, adding into your startup shortcut, "+exec custombinds.cfg".
The alternative is forcing your q3config.cfg to be read only, by right clicking the file in Windows, properties, and check the read-only option. Note that this forces Q3 to not be able to write to the file at all, so changing settings in the menus won't work and it might have other consequences.