Start by making your VCR button macro a single code (say switching the video input), if that works, add a single code at a time to get a working macro. At least you'll know where the macro fails this way. When it does fail, consider adding longer delays. Generally, when I build a macro, I try to alternate between equipment. Keeps the delays shorter or eliminates the need altogether.
Jim L