В качестве того, что сначала бросилось в глаза
- возможно, ругается на слишком длинные пути вновь создаваемых файлов.
- убрать On Error GoTo 0 и посмотреть, где остановиться.
- добавить DoEvents "случайно" раскидав по коду.
- описать _все_ переменные, возможно, где-то в них появляется что-то неожиданное, Variant довольно коварен.