I think the best way of doing collision detection for a game like yours is to use a bounding box. I don't know whether you're familiar with the term so I'll explain. A bounding box is a set of coordinates that specifies the left, right, top and bottom extremes of your sprite. This is effectively a TRect. Using a bounding box and an easy collision function as shown below, you can check for collisions on all sides of the object at every pass. This saves you applying different collision detection rules for every possible direction. All you do is check whether the sprites bounding box is overlapping with the bounding box of another object.

function Collision(Rect1,Rect2: TRect): Boolean;
begin
Collision:=False;
//If top left corner of bounding box 1 (Rect1) is in bounding box 2 (Rect2) then make Collision=True
If ((Rect1.Left>=Rect2.Left) and (Rect1.Top>=Rect2.Top) and
(Rect1.Left<=Rect2.Right) and (Rect1.Top<=Rect2.Bottom)) or
//...bottom right corner of bounding box 1(Rect1) is in bounding box 2 (Rect2) Then...
((Rect1.Right>=Rect2.Left) and (Rect1.Bottom>=Rect2.Top) and
(Rect1.Right<=Rect2.Right) and (Rect1.Bottom<=Rect2.Bottom)) Then
//...Collision detected
Collision:=True;
end;


Now just apply this to to yur sprite(Rect1) and every active enemy/object(Rect2) on screen/level and hopefully you will have working collision detection that can stll be aplied to the methods I showed you in previous posts.

I hope this helps you and you don't have to change too much code, but I know having to redo certain parts of code can often affect the rest of the code and means a hell of a lot of work so if you don't wanna use this idea then just stick to you current method. As always, if you don't think this is suitable or need anymore help then just post a message to that effect and I'll see what we can do.

P.S. In answer to your original question, I can't think of any reason why your current method shouldn't work but, this method will make sure that you are always checking for collisions on the whole sprite and not just one side and so may be more definitive.