Here's a really ugly, awkward work around: Store a copy of the current value of the field you want to edit in a different field. Sort on this new field and now edit your fields. Since the layout is no longer sorted on the field you are editing, the order remains unchanged.
I'm mulling over another possibility based on your "script trigger" part of your post...
Perhaps you could load serial numbers or other unique ids as a list in a global field. Use global fields or variables to track which record you are currently editing. When the record is committed, use a script trigger to determine the next ID in the global field list and use Go to related record (without the Show only related records option) to jump to the next record in your original order.
Thanks for the ideas! After thinking about it further, I will probably end up taking a lower tech approach - I'll add another field reference to my sort field (there are radio button options for that field on the layout being used) that's just an edit box. I can then do a find for empty entries. It just means I need to add a couple of steps to my process (or do a new script) - I liked having assigned and unassigned records together as it allowed me to be able to quickly view the assignments, as they contribute to colleagues' work load (and some of the assignment decision is based on who's working on what). So at the moment I have two choices - jumping back and forth in the found set, or looking at current assignments, and then finding and assigning the rest.