You know it could be the Device.
I just did a test on my Android Phone (Nokia One) and this code worked "Fine"
// show all errors
SetErrorMode(0)
// set window properties
SetWindowTitle( "normalproblem" )
SetWindowSize( 1024, 768, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window
// set display properties
SetVirtualResolution( 1024, 768 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 0, 1 ) // 30fps instead of 60 to save battery
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
SetViewZoom( 1.5 )
SetViewOffset( 0.0, -50.0 )
BlueImage = CreateImageColor( 0, 0, 255, 255 )
ButtonUp = CreateSprite( BlueImage )
SetSpriteSize( ButtonUp, 100.0, 50.0 )
SetSpritePosition( ButtonUp, 50.0, 50.0 )
RedImage = CreateImageColor( 255, 0, 0, 255 )
ButtonDown = CreateSprite( RedImage )
SetSpriteSize( ButtonDown, 100.0, 50.0 )
SetSpritePosition( ButtonDown, 50.0, 50.0 )
Repeat
SetSpriteVisible( ButtonDown, 0 )
X# = ScreenToWorldX( GetPointerX() )
Y# = ScreenToWorldY( GetPointerY() )
If GetSpriteHitTest( ButtonUp, X#, Y# )
SetSpriteVisible( ButtonDown, 1 )
EndIf
Print( Str( ScreenFPS() ) )
Sync()
Until GetRawKeyPressed(27)
So yeah, might be your Device?