If you do /sbin/service network restart (or ifdown eth0 ; ifup eth0 just the same), IPv6 autoconfiguration no longer works. This might be a problem with reactivating a certain part of multicast listening on the interface. If the network driver is reloaded, autoconfiguration begins to work again. See the netdev mail and followups for details: http://marc.theaimsgroup.com/?l=linux-netdev&m=98766543122621&w=2
As USAGI has this working, I went through a couple of promising-looking patches to find out what fixes this. For me, after applying this: http://www.linux-ipv6.org/cvsweb/usagi/kernel/linux24/net/ipv6/addrconf.c.diff?r1=1.1&r2=1.2 (on top of core/neighbour.c changes, which aren't necessary I think), autoconfiguration works again. Please review the patch and incorporate if it looks sane.
Fixed in the next build, check rawhide for 2.4.3-2.14.3 or later, and if the bug persists please reopen this. I will also be pushing this fix to Linus shortly.
Verified to work in 2.4.3-2.14.9.