If you set a public (global) variable upon form open, then switch to design view, the value of the public variable will persist. So perhaps when your code runs again, you're trying to do something you've already done and that's the cause. A lock on a table could do the same thing if attempted again. You could try trapping and ignoring the error but that can be dangerous practice in some cases - don't know if this is one of them. What I don't get is, if you can use this form several times without an issue, why are you putting it in design view and then re-opening? Did you try going from design to close then re-open to see what happens? Perhaps it is still under development and this issue will go away once the form is finalized?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.