А сам?
"а сам" поуши занят. Не разорваться же мне.
static void DeleteVertexesFromPolyline(ObjectId id, int iStart, int iEnd)
{
Первым делом следовало бы проверить id на предмет не равности null, на предмет валидности, и на предмет не удалённости (если нужно обрабатывать только не удалённые объекты). Проверку аргументов вообще следует взять за правило. Не плохо было бы проверять и второй с третьим аргументом (для надёжности кода) например на предмет того, что их значения не меньше нуля и что третий параметр не меньше второго.
Тут двоякое чувство... Если проверка аргументов прошла успешно, то данная проверка будет лишней (имхо), хотя можно и оставить её, дабы перестраховаться. Однако в случае, если вдруг окажется null, молча пропускать это - на мой взгляд, не самый правильный выбор. Я бы предпочёл либо исключение генерировать, либо сигнализировать об этом путём возвращаемого логического значения, сообщающего об успехе\неудачи операции.