Yes, I did try extending the time, but that made no difference.
One curious thing that I notice, though is that if I use a default of 401 data points (rather than the 2048 that I actually need) and I do NOT set the number of data points after a reset, I can read the data ok. As soon as I introduce a set the number of datapoints command after having done a reset, however, the data read thereafter is corrupt. I'm summarizing the commands here, we actually perform:
RST, Check for Sweep Status, Set Number Data Points, Set Frequency/Scale, Set Data Format, Set Byte Order, Check Status, Get Data
We normally loop the last two commands, i.e. check status and get data. But, when we want to do a reset by following the same command stream, the data is corrupt unless I do not send the Set Number Data Points command. But since RST resets the number of data points to a default of 401, that doesn't help our particular situation since we want to use 2048 data points.