Things I learned:
1. cron executes using /bin/sh so if you want to execute a bash script, you need to call it explicitly in crontab like this */1 * * * * root /bin/bash /opt/bin/hcv_update.cron
2. cron does not have it's own environment variables, so you need to figure out how to get it to see those for the user you want to run as (root). The easiest way to do this is to make a shell script that calls your python script. You have more control over what is going on. Also, you can source your .bash_profile so that the variables are now inherited.
#!/bin/bash
source /root/.bash_profile
# calls python update script
/usr/local/bin/python2.7 /opt/bin/hcv_comm_query.py
3. If you have more than one version of python on the system (RedHat always has 2.4 present), make sure you explicitly call the right one.
4. In this case, was using cx_Oracle as well, so explicitly defined the Oracle paths in the python script just in case. This shouldn't be necessary though if they are already present in the .bash_profile
import os
os.environ["LD_LIBRARY_PATH"]="/usr/lib/oracle/11.2/client64/lib"
os.environ["ORACLE_HOME"]="/usr/lib/oracle/11.2/client64"
os.environ["TNS_ADMIN"]="/usr/lib/oracle/11.2/client64"
import cx_Oracle as cxo
This should solve the problem.