This is just an issue with order of operations. Since the update code is after the recordset code, the update doesn't take place until after the recordset data is populated, so it isn't reflected on the page until the page refreshes.
The easiest solution is to add a redirect to the update server behavior to refresh the page. Set the redirect to the current page name and then the page will be refreshed and the recordsets repopulated.
The other solution is to use the session instead of the recordset in the update server behavior to set the ID to be updated. Then you can move the update code above the recordset code and the page wouldn't need to refresh since the update takes place first.