Following Will Robertson's admission that Fwiw, i'm not aware of any troubles with a missing
\makeatother, but you're right. It's a bad habit of mine to omit it, and my own progressive slackness about the same thing following my realisation that I never see it matter, I wonder how important the
\makeatother discipline is?
The worst consequence I can think of for experienced users from slackness about closing with
\makeatother is that one's slackness might spread to omitting
expl3, which is very far from trouble-free. But that's not a mistake anyone is going to get used to making.
The insidious worry is that not following the discipline means that some people might become unclear about the distinction between "package/Knuth namespace" and "user namespace".
But I can't say that either of these considerations seems very urgent. It doesn't seem important in the same way as such a programmatic discipline as eliminating avoidable state in interfaces. Is there something more compelling?