Я не знаю как учитывается лаг форсунки у Андрея (может там мультипликатив в попугаях, а может аддитив в у.е. чего-нибудь), лезть в код и смотреть как это реализовано - тоже нет желания. Напиши двумя словами как учитывается. Если сам алгоритм добавки верный, то дальше, если нет ошибки в самом коде, то полное время открытия форсунки должно быть верным, а если где-то косяк (алгоритм неверный, ошибка в коде, неверные калибровки форсунки, неверный расчёт топливоподачи, и т.д.) то тут будет иметь место ошибка, величина ошибки будет зависить суммы факторов.
И ещё хотел добавить, хотя за счёт поправки по лагу время открытия форсунки будет верным, но это не отменяет в зависимости от оборотов разницы по желаемой и реальной фазе впрыска. Допустим имеется лаг открытия форсунки 1 мсек, и обороты двигателя 6000 об/мин, что дает нам 100 оборотов в секунду, или 10 мсек на один оборот коленвала, значит 1 мсек это 36 градусов поворота коленвала, т.е. за счёт лага на этих оборотах топливо начнёт поступать на 36 градусов позже заданной фазы впрыска в программе. Если упрощенно, то как-то так.