I have not used DelphiX for generations, so I may be wrong here, but Collision should be called whereever all the collision calculations are done.

ie..
[pascal]
while GameLoop do
MoveObjects; // In here all the DoMove methods are called
CheckCollisions; // In here all the DoCollision methods are called
RenderObjects; // In here all the Draw methods are called.
end;
[/pascal]

You'll probably have a way to handling enemy AI as well in there.