You might need to re-think the framing of the problem. In your mind, the server is the authority on whether an object has been drawn; even if the user does all the right things and sees all the right feedback, the object still wasn’t drawn if the server doesn’t receive the necessary data. This is a system-oriented way of thinking. UX is user-centered.

**The system is not the authority, the user is.** An object is drawn as soon as the user draws it. He moved his hand in the correct way, and he saw the visual feedback on the screen, so the object is factually drawn. Whether the system *knows* that the object is drawn is another matter. An error on the system’s part is not the user’s problem. It’s up to the system to deal with its own shortcomings.

Of course, if the system cannot correct its own error, the user must be notified that something went wrong. But he shouldn’t have to re-draw anything, the system attempt to re-send. Computers are supposed to do work for humans. The user should never have clean up after a computer.