Такс. Открою тайну чтоли.
Значит как всё происходит.
Любой инклуд (вобще любой) при компиляции зашивается в exe.
При этом зашивании он обрамляется в начале и в конце метками.
Пример:
inc.bmx
Print "Ahahaha malaca pocani"
main.bmx
For Local i:Int=0 Until 100
include "inc.bmx"
Next
Выполнив этот код видим, что тут происходит фактически GOSUB и Return
Напомню: GOSUB переходит к определённой метке кода и начинает выполнять код от неё пока не увидит Return.
При простом инклуде без условий всяких или циклов Return просто игнорируется.
Лучше вобще этой ерундой не пользоватся. С переменными просто можно не мало глюков словить.
Таки дела.