Типичный догматичный за@б линупсоидов — поставить раком собственных юзеров из-за того, что индокодеры священные маны не читали.
Что бы сделал пыщьх? Элементарно:
1. На уровне молока матери билд-системы разделение на DEBUG и RELEASE билды, вместо самописных велосипедов в половине make-файлов.
2. За год до изменения модифицируем debug-версию memcpy(), чтобы там вылетал ASSERT() в случае пересекаюшихся буферов.
3. Даем девелоперам год на фикс. Пишем об этом явно и везде.
4. Спустя год, меняем release-реализацию.
Но, почему-то, в сообществе красноглазиков думать о юзабилити не принято. Так что, слушайте, Василий Иванович, ваши валенки...