My init files are set up such that my .emacs file is a symlink pointing to an OS-specific init that in turn loads the main init file with configs that are unaffected by OS. I've had no problems with this setup for non-server emacs.
However, it does not work right when using emacsd and emacsclient. For example, I have a setting for Org-mode so that in Terminal on OSX, S-Tab is mapped to backtab so that it works correctly instead of throwing an error about undefined key. This setting works fine if I'm not using emacs server. When I'm using emacsclient, I get the error.
I know all my init files are getting loaded without error because any (message "whatever") lines I put in the files show fine when the server is started. So it's not like the emacs server is missing the files somehow. It's as if the mapped keys get loaded for the server but forgotten when a client connects in. I've even tried eval of the key mappings once in an emacsclient buffer, but while no errors, no change. Any ideas?
(btw, --debug-init doesn't show anything strange; everything is loading without error)