Does anyone know why this works for VB 5&6 but not with 4 ?

Code:
Private Declare Function SetWindowPos Lib "user32" (ByVal h%, ByVal hb%, ByVal X%, ByVal Y%, ByVal cx%, ByVal cy%, ByVal f%) As Integer

Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2

Public Sub Make_Top()
' Make sure the user cannot send the form to the back and ignore it

Dim lngRes As Long

lngRes = SetWindowPos(PCDetails.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

End Sub
It's a damn useful bit of code which I picked up from somewhere ( can't remember where ) so if anyone wants to use it, feel free.

Thanks for any help.