Setting Update on Task through Client SDK

I am trying to update a source file through the client SDK and this is our process:

1. Load the new source into a temporary node
2. Copy the temp node into the source node that needs to be updated
3. For all the tasks that are Asset Tasks and are for the updated source set the update flag
4. Check to make sure that the update flag is set

When we go through this process we routinely find that when we check to see if an update is pending the result is false, even though it was just set.

5. To try and address this we wait a few seconds, check, and if still false try and set the value again. We try this up to three times before we move on with our processing.

What we are running into is that the update flag is still not getting set even though the update call has been called 4 times.

We would love to see this be possible in the REST API, but in lieu of this not being done what other options do we have?