I was playing about with getting this running on my sites and managed to have quite a nice setup with the following changes.
Basically I've changed the initial call to get the first player from the roster table of guild members and then call a modified synch player routine. The modified routine does the normal stuff then gets the next player in order and outputs a javascript call on the page to refresh the page, passing in the next player ID to be processed.
This repeats until there are no more members. I've put in a delay in the javascript call so you can see which player it's currently on but it seems to work well. Once you've set it off just sit back and let it gradually run. I imagine that the hosting company would also be a bit happier as it spreads the workload out on the server.
I can post my code if people want it (it's a horrible mess at the moment, but does check for the user to be logged on) but just an alternate route if people are having problems with timeouts etc. It means that you dont have to keep pressing refresh!
(I've got it running on standalone and on the DF integration, which required a small extra line)
(Also, it seems to be saving all items as "grey" at the moment, which I'm trying to work out why! I'm not sure it's my changes though)