Just looked at the trace I sent in my initial post and realised that I had selected a Diseqc command that I had modified while trying to diagnose the situation so my annotations < > were a bit misleading.
The following should be less confusing:
Diseqc command list found = t v [E0 10 38 F4] W500 [E0 31 6B 04] W250 [E1 31 6B 04] W15 T
Diseqc action = 1
Diseqc action = 3
Diseqc action = 7
Sending Diseqc command: E1 31 6B 04 < Wrong, should be E0 10 38 F4 >
Diseqc action = 7
Sending Diseqc command: E1 31 6B 04 < Wrong, should be E0 31 6B 04 >
Diseqc action = 7
Sending Diseqc command: E1 31 6B 04
Diseqc action = 2
Again, the final Diseqc command has been sent three times, not the three commands in the sequence they appear in the command list.
Apologies for the confusion.
Mark.