Just like many others, I was also hung up as how do I unregister a startup script. Well, the solution doesn't seems to exists (or I didn't find one). But a workaround for this behaves is just like unregistering previously defined script and then registering the new one. Here is how it goes..
First you need to define a form level variable of type System.Web.UI.Control to your web page like
Private ctrlToFocus As System.Web.UI.Control = Nothing
Then add a Page PreRender event to your web page like
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender
& "document.getElementById('" & ctrlID.ClientID & "').focus();" _
& "document.getElementById('" & ctrlID.ClientID & "').scrollIntoView();" _
If Not Page.IsStartupScriptRegistered("focusKey") Then
Now, where ever you have defined your startup script to focus to a control, replace that with the following
ctrlToFocus = <yourControlName>
Hope this helped to solve your problem !!!