Никогда кстати этого вывода не понимал. Если подрядчик нарушил обязательство, то какие у него основания удерживать аванс?
Как указывалось выше (пост #2) обязательство выполнения работ сохраняется, а раз есть обязательство выполнить работы, то аванс еще можно отработать пусть и с нарушением срока. Несогласный заказчик может имеет право расторгнуть договор (отказаться от исполнения).
Хотя туже 487 можно применять по аналогии, но, видимо, нужна воля ВС.