On the issue of REDIRECT handling:
There's no reason why there should be two or more separate articles, with people squabbling about which one should be the main article and which the redirect, if both exist and have precisely the same article id. The synonym creation would also have to operate for the corresponding talk namespace.
Get coding :-D
(This is a really nice idea, IMO, and would save much of the forests of redirects and annoyance of double redirects.)
Uli Fuchs' sort-of fork WikiWeise with independently developed Wiki software has automic DISAMBIGs and an elaborated scheme of index entries instead of REDIRECTs. See (for those reading German):
1) http://www.wikiweise.de/wiki/Wikiweise%3ABegriffskl%C3%A4rung 2) http://www.wikiweise.de/wiki/Wikiweise%3AIndizierung
Summary: 1) "Foo ((Bar))" and "Foo ((Baz))" will algorithmically generate a "Foo" disambig. 2) There is a separate entry field for index entries for the article
Regards, Peter Jacobi