И неплохо бы изначально убедиться что они не используют динамическую память.
Сам по себе NEW не шибко вреден, вред причиняет слишком частый его вызов и слишком большое количество динамических объектов, а это автоматической тулзовиной из исходников не вытянешь, самому врубаться надо.
Зависит от сценария и окружения. Если у тебя памяти всего порядка единиц килобайт и есть требования к реалтайму (не софт реалтайм, как в телекоме, а настоящий реалтайм - если не уложился во время переферийное устройство просто зависнет нафик, потребудется перезагрузка), то сборщик мусора становится категорически противопоказан в любых колличествах. Это с одной стороны.
С другой также противопоказано с нуля рисовать все модули и собирать велосипеды, потому что времени, как обычно, не хватает, и при написании всех базовых модулей с нуля будет далеко не ноль ошибок. Поэтому неплохо бы иметь способ определения какие модули годятся для переноса в такую специфическую среду, а какие нет/надо переделывать. Хотя, тут наверно действительно помог бы grep - ведь такие модули у нас всяко есть в исходниках.