Collision with existing custom alias names would happen each time a new identifier is added, and can't be avoided without having a moratorium on new identifiers, which isn't a good solution. It happened with https://forums.mirc.com/ubbthreads.php/topics/265240/need-code-help
when the $zip identifier was added.
A solution to allow an existing script's $min to work in spite of the new identifier is to edit the script to use $/min(parms go here), which will always execute the alias, regardless whether there's a built-in of the same name.
Using $~NameOfIdentifier format is the only way I know of checking whether a script is running in a future version having a new identifier of a particular name. It isn't perfect because there's no guarantee that the syntax for the new identifier would be compatible with the parms you use when checking. However, we don't otherwise have an "$isidentifier" function to check for it.
Even if $isalias(sha256) is $true, that doesn't guarantee that $sha256(parms) executes your alias instead of a built-in one, without having the script knowing which version added that identifier as built-in. However $/sha256(parms) will always execute your alias or fail with an error if it's not there.