Dude i have gotten 404 errors on every single download. they are all over the place. Instead of auto directing, which takes a heck of a lot more programming, just put the mirror names and links right next to each download. It's far simpler and makes the user experience much easier. Also, you can detect immediately which links are broken. The way you have it setup now, the end user can never give you feedback as to which links are broken.
put a "link broken" check box next to each mirror and BAM you have instant feedback as to which mirror doesn't work. couldn't be simpler.