I'd stick with geodatabases. Have you made sure the field data types are correct and consistent with the calculations? I believe the integer or real or floating types all work together nicely; they did when I just checked, though I didn't try every operation.
I checked if having the precision (number of digits) too short would cause an error. You would think you would get an error, but when I tested it, the calculator ran w/o error and simply shorted the number of digits. I was able to use text field with numbers in it in the equation and
Obviously text fields would be a problem. When trying to include a text the error was ERROR 999999 and the results window specified it at a "type mismatch". It was more specific.
Maybe there is a false read/write issue going on. If all else fails, try opening a new mxd, loading just the data needed, and performing the calculations in a fresh session.