Assuming DBI, a disconnect would solve the problem, without necessarily answering your underlying question, I know.
I think Bart is on to something in that you want a delete rather than an undef, because the former removes the dbo key from the tied hash that is the $self object, while the latter leaves it there with an undefined value.