Changing Status to WAITING causes the bug to be confirmed, as can be seen by the first two changes in http://gcc.gnu.org/bugzilla/show_activity.cgi?id=45399 I expect WAITING state to be independent of whether it's been confirmed, so that the sequence UNCONFIRMED->WAITING->UNCONFIRMED doesn't affect whether the bug has been confirmed.
Bugzilla has a single unconfirmed state, named.... UNCONFIRMED. All other open states confirm the bug. That's so by design, and definitely not something we are going to change.