Lynn,
Thanks for the tips. Those make sense, and I'll see about implementing them. I've been debating rewriting the code, since it does mostly work, but it would be satisfying to (a) fix this bug, (b) implement a new-to-me design, and (c) have cleaner, more maintainable code. I appreciate your help.
Michael