You need to take a look at the manual, specifically the section about "DIGITIZE". That command, with a channel parameter, will cause the scope to capture data only on that channel. The command, without a parameter, will capture data on all channels that are turned on. You can turn channels on and off with separate commands. That will resolve the issue of taking synchronous data on 2 channels.
You have not defined a trigger channel in your code, that I can see. You are probably using Autotrigger. If the scope doesn't see a valid trigger within a certain time, it forces a trigger. Because this is not a "real" trigger, the DIGITIZE command is still waiting for a trigger. You need to turn off Autotrigger, and make sure that you can, manually, get your scope to trigger reliably on your signal. While you're looking at the manual, look at the section on "Synchronization". Becasue the DIGITIZE command is a macro, it has certain limitations, and you are better off using "Polling Synchronization".
Use Channels 1 and 3 if possible, rather than 1 and 2. I don't know exactly which scope you are using, but on many Agilent scopes, the scope will switch to a slower sampling mode if you are using both even and odd channels
Lastly, as I have said before. STOP USING THE 8 BIT DATA. IT IS LESS ACCURATE AND WILL GIVE YOU INCORRECT RESULTS. I'm sorry to yell, but I think that we have had this discussion before.