Good explanation. As an aside, the four syntax characters "~ : ! ." are the "special syntax". You can see the effects of these with ssexpand. Also, ~ and : can be combined, and ! and . can be combined, but not the other combinations (e.g. ~ and !).
arc> (ssexpand '~a:b:~c)
(compose (complement a) b (complement c))
arc> (ssexpand 'd.e!f)
(d e (quote f))
I just noticed that (car (ssexpand '.a)) returns the Scheme eof object. This doesn't seem like a good thing.
Good point. To be precise (as you noted), () [] ' , and ,@ are taken care of by mzscheme's read, but ~ : . and ! are handled afterwards in ssexpand (or its equivalent in ac.scm).
There are other bugs like those--pretty much any special syntax character on its own or in an incomplete way becomes an EOF.