Условие End if работает по следующим принципам:
Code
If <условие> then <команда>
в этом примере End if не требуется так как выполняется всего одна команда и все написано в одну строчку
Code
If <условие> then
<команда>
<команда>
<команда>
End if
в этом примере выполняется несколько команд и без End if тут никак
Вывод:
Все зависит от количества команд после then и от того написано все в одну строку или нет
В твоем примере все получается вот так
Code
If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then DrawImage key_load_on,240,150
; тут выполнилось условие если бла-бла-бла, то рисуется картинка DrawImage key_load_on,240,150
; условие if...then выполнилось и не требует закрывающего End if
While Not KeyHit(14) Or KeyHit(1)
DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#
DrawImage Cursor,mx#,my#
RenderWorld
Flip
Wend
EndIf ; в этом месте произойдет ошибка так как этот EndIf не к чему не относится