Good questions. This is definitely where the interface file thing gets tricky: multiple interface files. Not that its a bad idea. We do this frequently and often have separate interface files for reports, dashboards or charting.
As you've noticed, though, GTRR isn't the same when you're moving from one interface file to another. There are 3 techniques we use to move a record or found set from one interface file to another...
Found Sets.
Import Export. You can use a variant of the update-matching-import trick to move found sets. However, since you can't import directly from the same base table to itself, you'll have to export your match field and a dummy field to another location and then import from that location to perform your import. While this does move the found set quite well, it does not carry the sort order with it.
Finds. When the found set is something you can describe programatically ("Bob's Sales" or "Invoices in July") instead of an ad hoc found set, you can recreate the found set in the other interface file by scripting the whole thing: simply performing the same or a similar find in the new interface file. This is generally how we move single records into focus from one interface file to another, and how we do most found sets when marking reports. This obviously doesn't work for ad hoc found sets and also fails to carry the sort order.
Global Field GTRR. For ad hoc found sets you can also gather all the IDs from the found set into a global field in the new interface file and then perform a GTRR within the new interface file from that global field. Subject to some length limits this works great though it also fails to carry the sort order.
Sort Orders.
Most of the time we have a sort that we know programatically--we know the sort order of a portal or the sort we employed in a script--and we simply script that sort order in the second interface file. You obviously can't do this for ad hoc sorts were a user has just sorted a found set by hand somehow.
In those cases I don't believe there is any simple, multi-user-safe way to move the found set's sort from one file to another. Techniques that involve marking the records or setting their IDs to an indexed field for a value list sort all offer the opportunity to bump into another user.
While we've never had a need for this, I believe you *could* move an ad hoc sort like this: a) use a loop or a custom function like
AppendNth to populate a a global field with a list of the found set's IDs in the same order as their current sort order; then b) using an unstored calc in the data table, calculate each record's position in that list and sort on this calculated position field.
HTH.