По сути, вы сами всё расписали. Надо заново найти контрол по id.
X++:
formStringControl = element.design().control(id);
if (formStringControl) // безопасная проверка - точно можно понять контрол еще жив или нет
Если же вы не хотите терять связь через локальную переменную, то кроме явного присваивания null, я других вариантов не вижу. Пути сборщика мусора неисповедимы.
Попробуем углубиться в детали.
У вас переменная ссылается на объект, контрол, который пока что существует. Метод removeControl() находит объект по id и удаляет его из памяти. Будет ли метод обновлять все ссылки на удаленный объект? Думаю нет. Соответственно, у вас останется ссылка на некую область в памяти, обращение к которой даст сбой. Однако проверка на неравенство null завершится успешно.
Плюс, я думаю, что дебаггер немного доработан с тем, чтобы не показывать тот фарш, который может отобразить переменная, если она ссылается не туда, куда надо.