> -- Цитата:
> Говоря о циклах я имел в виду самый общий случай, безотносительно навешиваемогоили подразумеваемого контекста, то есть: WHILE any_func() DO  any_action() END;Где any_func() и any_action() - произвольные функции, которые в общем случае имеютсвой контекст, но он может быть закрыт или неизвестен. Это могут быть системные вызовы,какие-то библиотечные функции...
Правильно, тут мы ведём речь об отличиях между вычисляющими и управляющими алгоритмами. Разница большая. Тем не менее, точно также о состоянии системы можно сделать логические суждения до, после и в течении цикла. И только на основе таких суждений можно уверенно его построить. Суждения не обязательно записывать формально - не нужно без нужды "сушить мозги", но они должны быть явно оговорены.


> -- Цитата:
> По поводу входа в центр цикла? Да, может привести к ошибке. И что?Практически любой оператор может привести к ошибке и "веселухе".
Это не просто "может привести к ошибке", это просто не имеет смысла.

> -- Цитата:
> GOTO start;WHILE any_func() DO  start: any_action(); END;// если any_action делает контекст для any_func, то так пожалуй лучше, чемany_action();      //Если код строк 50 и не вынесен в процедуру, то дублирование.WHILE any_func() DO any_action(); END;
Второй вариант правильный. Ситуация является частным случаем полного прохода:
взять_первую_ситуацию;
WHILE не_конец_процесса DO
полезное_действие;
перейти_к_следующей_ситуации
END.

Из того, что в частном случае взятие первой ситуации и переход к следующей могут совпадать, ещё не значит, что нужно пытаться это дело сокращать... По смыслу это разные действия.

Рассмотрите спецификацию поведения системы как множество допустимых цепей событий (бесконечное дерево). Затем очевидным образом повторяющиеся сектора свёртываются в WHILE-ы, а идентичные "хвосты" объединяются в один путь (переход от дерева  к DAG-у, правда, с обратными дугами для WHILE-ов) (в ДРАКОНе это, конечно, повыразительнее, чем в линейном структурном пр-и). Таким образом, эти конструкции - естественны. Они возникают как "упаковка", так сказать, генератор поведения системы (цепей событий). Ваш GOTO просто не возникает. Его нет в наборе конструкций, он сам остался за бортом.
Если попробовать дополнять правила "свёртки" типа до вашего первого варианта, то это избыточная сложность. Лишний мусорный шаг как раз. С потерей ясности.