I made a little program to test the System.currentTimeMillis (). And I have a strange result. This is my logs :
1 26-12-09 20:48:21 - [Log] lTime = 1261860501
First of all, you have a little typo, it's 73 milliseconds, not seconds ( would be disturbing then :-) ).
To get to the point, you should be aware that Java is a very high-level language with access to system functions only provided to you through native function calls. These calls are implemented by your Virtual Machine, and there are quite a few ( Sun, Open, Dalvik.. ), so general advice can't be given, but the return time currentTimeMillis is depending on a lot of stuff, like Threading ( in the VM as well as native threads ), the resolution of the onboard timer etc. I admit that the results are strange, but unless you are highly dependent on their correct order, I wouldn't bother and just live with an anomaly in the range of a tenth of a second.
If you need more specific advice, please paste some of your source code!
Edit:
After having seen your source, I'm quite sure that your Log function uses some kind of priority processing, or threading, that leads to false results. Just try to assign the return value of the method in question and pass that variable to your log:
long foo = System.currentTimeMillis();
setLog(foo);