I think that syntax could cause more problems, for example:
/did -acu $dname 1 2 3
mIRC will first add the text, '2' to ID 1, then check ID 2 and uncheck ID 3?
Perhaps something like:
/did -a $dname 1 "text" -c 2 -u 3
Similar to how the /server command can be used when specifying a nickname and channels to join on connect.
Just a thought.