Well, after a long delay due to the client being out of town and then too busy to deal with it, I've finally found the problem, after a trip to the clients to watch over their shoulder what they were doing. Apparently, in the fields meant for pricing (i.e. "3.25") they were trying to also insert text (i.e. "$3.25/ft"). The MySQL field was set to accept a decimal number, and would reject their entry, leaving the field with 0.00!
So after hours of pulling my hair out, it came down to a usability issue, not a technical problem!