There is no easy way to change the script to look at another DC for the updated objects based on the USN details, as you have found out the USN are unique to each DC, you could poll all DCs and collect the USN for all objects across all the DCs but this would create a large processing overhead.
As pointed out, you could try one of the notification services offered by AD, but this still wouldn't solve the problem, if the targeted DC went down you wouldn't receive any updates. Have a look on NetTools.net website NetTools has a few features that display objects that have changed using the AD notification options.
The better solution might be to look at the WhenChanged attribute and use that to detect when an object has changed, this time is roughtly the same across all DCs with only replication variation in the timestamp. That way if you connected to a different DC the script would continue to detect changes to objects.
Gary.
Gary.