I would say it is dangerous to rely on the exact character used as a delimiter.
I came across some kind of legacy JavaScript code that was passed to UniqueID and analyzed it like this:
theform.__EVENTTARGET.value = s.split(":")[0]; theform.__EVENTARGUMENT.value = s.split(":")[1];
Switching to a later version of the CLR caused this code to break because, as pointed out in this question, the delimiter is now $, not ::.
source share