I couldn't get this to work using fieldnames. However if I used the field number starting from 0 for the leftmost it returned the correct content for that field in the current record.
ie strResult = rst.Fields(0) returned the key of the first record from my table
What is your function expecting? By how you pass this, it could be either a field object or the value property, but it'd probably be more interesting seeing the actual code.
What happens if you try to be more explicit TheFunction(rst.Fields("MyField").Value / 1000) ?
Try /Decompile too, for detailed instruction, see http://www.granite.ab.ca/access/decompile.htm (note, before step 3, close all instances of Access, reopen without running any code (shift) before doing the compact)