1) Did I understood right that there is no code between:
[pascal] device1.BeginScene();

device1.EndScene(); [/pascal]
?

2) With "Present" commented out no work will be acually done to render anything (I mean videocard driver will not even start rendering current frame until you call Present).

3) From MSDN (btw, why are you using "get_TickCount" and not just "TickCount" in Delphi.net?)
The resolution of the TickCount property cannot be less than 500 milliseconds.
So it's really bad idea to you it as high precision counter. Probably something like Date.Ticks will be much better, but I actually don't know details of CLR.