It was actually quite a minor adjustment in the application to follow the oft repeated advice here on this subject to share only the Queue object between threads. Making the update of the dictionary just another queued command request caused both the dictionary read and write to be performed by the same thread. This seems to have eliminated the problem.
Thank you all for your thoughtful comments. Randy -- http://mail.python.org/mailman/listinfo/python-list