Forget about a disappearing off topic BBCode unless you want to try to find a way to do it in functions_bbcodeparse.php.
I do have a creative alternative for you: use quote. Maybe make Off Topic be [quote=OffTopic]. Now edit the template bbcode_quote.
At the begining, put this:
HTML Code:
<if condition="$username != 'OffTopic'">
Then, at the end, put this:
HTML Code:
<else /><if condition="$post['field9']"><fieldset><legend>Off Topic</legend><table><tr><td>
$message
</td></tr>
</table></fieldset></if></if>
Save it and you have an instant off topic tag.
Be creative.