It appears this line is syntactically incorrect:
return "PROXY 10.131.x.x:9090" + "PROXY 10.131.x.x:9090";
This returns the erroneous string "PROXY 10.131.x.x:9090PROXY 10.131.x.x:9090"
This will only latch onto the first proxy.
You should have the line say:
return "PROXY 10.131.x.x:9090; " + "PROXY 10.131.x.x:9090";
or drop the plus sign:
return "PROXY 10.131.x.x:9090; PROXY 10.131.x.x:9090";
And one other thing. The timeout process isn't entirely transparent. As you are proxying, when the proxy goes down it will give you a IE timeout error (page cannot be displayed...) When IE (or other browser) gives you one of these, that's the trigger for it to use the next one. A refresh should then reconnect and you proceed on your merry way.
Thanks for the help, that one semi colon made all the difference! I just got through testing it out and failover worked like a charm.