Both of the things you referenced as non-standard are actually implemented in a standard way: through the 005 numeric. When you connect to a server, you receive a 005 numeric message from the server that tells the IRC client what sorts of modes the server supports. For example, when you connect to a server you will get something like this:
<- :irc.someserver.com 005 drum CALLERID CASEMAPPING=rfc1459 DEAF=D KICKLEN=160 MODES=4 NICKLEN=30 TOPICLEN=390 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ NETWORK=Rizon MAXLIST=beI:100 TARGMAX=ACCEPT:,KICK:1,LIST:1,NAMES:1,NOTICE:4,PRIVMSG:4,WHOIS:1 CHANTYPES=# :are supported by this server
<- :irc.someserver.com 005 drum CHANLIMIT=#:75 CHANNELLEN=50 CHANMODES=eIb,k,l,BMNORScimnpstz NAMESX UHNAMES AWAYLEN=160 KNOCK ELIST=CMNTU SAFELIST FNC EXCEPTS=e INVEX=I :are supported by this server
The two portions of this that affect the behavior you referenced in your post are these two values:
CHANMODES=eIb,k,l,BMNORScimnpstz
You can reference
http://www.irc.org/tech_docs/005.html to see what exactly they do, but I trust you can figure it out on your own. The point is that these are actually part of a standard.
Non-standard numerics on the other hand are harder to support because while DALnet has decided to use 328 for a particular purpose, it's possible that another network has used the same numeric for something else. This is why it is a little dangerous to support numerics that are only used in one network and/or ircd. That said, just having any unsupported numeric displayed in the status window wouldn't bother me. How do other IRC clients handle this?