Not the cleanest solution, but have you tried to do this in a loop?
I've had to get around timeouts in the asdk in 6.x before by doing the calls in multiple smaller sets.
Use a 'For Each Item in Collection' on your main list of resources followed by 'Add Items to Collection' to create a second array that is much smaller. Put in some if logic that counts the number of items in your second collection and when it reaches X number make a call to the asdk. When this smaller call comes back clean (and quicker) erase the second collection and then continue by adding the object you stopped at to the second collection and continue the main loop. Be sure to also tell your workflow to run the asdk call after the collection ends to catch any stragglers that didn't make it within the loops.
I just uploaded an example to the site and will link to the file when it has been approved. My description is not as good as the uploaded example.
Hope this helps,
Parksddd