Hi after discussing with the software engineers the application seems fine. They did point out the following though:
"The trigger function auto_trigger_ms should be a signed 16 bit value, not a bool. You should set this to zero if you do not want the device to auto trigger.
The second point is that when the device is opened by default the channels are set to active therefore the minimum timebase that can be used on the 4 channel device is time base 2. To use timebase 1 two of the channels need to be switched off before calling run block, and three channels need to be switched off before calling run block with timebase 0. If they are not switched off then run block will fail."
Hope this helps.