I did notice that the working test environment is starting the listener with the fully qualified domain name, the production environment is only using the server name. Not sure if that is an issue or not. The hosts file is correct and identical between them so it isn't a resolving hostname thing. Where does the start process pull this name from? Both instances have only the server name in the listener.ora so it must come from somewhere else.
Where the patches applied to the correct ORACLE_HOME?
Have you verified the contents of listener.ora and tnsnames.ora file under $TNS_ADMIN directory? Running AutoConfig should usually fix those files (assuming it completes successfully and you have proper entry in the /etc/hosts file and your FND_NODES table entries are correct).
How to get a clean Autoconfig Environment ? (Doc ID 391406.1)
and provide the logfile of $LOG_HOME/appl/admin/log/adalnctl.txt.
Please double check the entry of the tnsnames.ora file is correct, ensure you check the entry of Oracle tools home/network/admin/tnsnames.ora as well.
The patches were applied correctly, no errors.
I have looked at the contents of the listener.ora and tnsnames.ora and compared the files to our working test environment and I see no differences.
The /etc/hosts file is exactly as it was before the patching (fully functional) occurred.
Autoconfig has been run on the DB and Apps Tier.
FND_NODES is correct.
Please provide the list of patches you have applied.