Выяснил вот что ( покосил почти весь код, чтобы найти ): глюки начинаются если между метками встречается команда типа je Код (Text): data_START LABEL BYTE je a a: data_END LABEL BYTE
макросы, типа invoke, должны обрабатываться при первом проходе, и масм еще не знает какой ему поставить jmp длинный или короткий, вот и пихает в код длинный, соответственно размер под invoke считает тоже с длинным jmp'ом