In Indico 3.0.3, Somebody withdraw his registration include a hotel room booking. Administrator reset the withdrawal. All info of his registration are restored include hotel room booking even if no place left. It make the number of room booking exceeds the place limit.
How to avoid the problem ?
Your Indico version is heavily outdated and has known security issues. You must update to 3.2.6 ASAP.
And considering the major changes to the registration module in 3.2 there’s a good chance the problem you’re reporting no longer exists in that version…
Actually, after reading your question again: This is intended behavior. It’s up to the manager to ensure there are no issues with limited options after restoring a registration, and editing it to remove unavailable options if needed.