I'm not sure if you know this (although you mentioned $cd) but $cd is a built-in identifier that returns the currect directory in a fileserver. As you may also know, identifiers that return directories/files, like $mircdir, $scriptdir, $mircexe, $getdir etc do not need $+ when you want to append a string to them: (fex //echo -a $mircdirBLAH ). This also true for $1, $2, $1- etc identifiers. Now, if one of those identifiers is $null, it "consumes" the string appended to it:
//tokenize 32 a b | echo -a $1BLAH :: $3BLAH
This is exactly what happens with $cd. $cd returns $null, so $cda returns $null too.
$cda works in previous versions, but only from the command line (or inside aliases called from the command line). For example, the following line in v6.0:
on *:text:*:?: echo -s blah $cda
echoes "blah" when a message is received, ie $cda returns $null. From that aspect, I find v6.12 more consistent, because $cda works the same way, no matter where it's called from (the command line or a script): it returns $null in both cases.