This is not a bug per se, but the POINT(x,y) function works with shown/hidden screen pages and NOT images with handles, which is confusing. Throws error only if no screen statement encountered. Consider the example
DIM uno AS LONG, dos AS LONG, pt1 AS LONG, pt2 AS LONG
uno = _NEWIMAGE(640, 480, 32)
dos = _NEWIMAGE(640, 480, 32)
red& = &HFFFF0000
blue& = &HFF0000FF
SCREEN uno
LINE (0, 0)-STEP(9, 9), red&, BF
_DEST dos
LINE (0, 0)-STEP(9, 9), blue&, BF
pt2 = POINT(5, 5)
_DEST uno
pt1 = POINT(5, 5)
PRINT "Result 1"
PRINT HEX$(pt1)
PRINT HEX$(pt2)
SLEEP
CLEAR
uno = _NEWIMAGE(640, 480, 32)
dos = _NEWIMAGE(640, 480, 32)
red& = &HFFFF0000
blue& = &HFF0000FF
SCREEN uno
LINE (0, 0)-STEP(9, 9), red&, BF
SCREEN dos
LINE (0, 0)-STEP(9, 9), blue&, BF
pt2 = POINT(5, 5)
SCREEN uno
pt1 = POINT(5, 5)
PRINT "Result 2"
PRINT HEX$(pt1)
PRINT HEX$(pt2)
(and point(0)/point(1) gives something entirely strange)