Since execCommand is already only called in the reactor thread, this isn't doing much - but it is slightly changing the timing of when things happen. That suggests the real problem may be a race between different parts of your code. It's not obvious what the race might be between, from reading your code, though.
I might even go bit further and do something that some twisteders will consider nasty, and have another thread for command processing so to split between the racers.
I appreciate your comments and the time you spent to read my code and messages.
Thanks again, Tzury