Oracle numeric field and cf_sql_numeric gotcha
Quite simply, cf_sql_numeric, as a cfsqltype for cfqueryparam, does not map to the oracle 'numeric' datatype. Instead, if you need decimal places, use cf_sql_float (or another type that ensures the correct number is saved for you).
EDIT: Turns out I was wrong...
You can use the scale attribute of cfqueryparam to specify decimal places. cf_sql_numeric defaults to a scale of 0.
Thanks to bidmadkev for the correction ;)