I remember flying PHL-SFO-SYD. While in the lounge in PHL I could hear one of the agents mentioning my name to someone on the phone. I went up and asked, she told me SFO was fogged in and PHL-SFO was delayed and would cause a mis-connect. She was putting me onto PHL-LAX (via US) then LAX-SYD (via UA). I had previously checked LAX-SYD and remember J2, R0. I said "what about my upgrade?" She said "I'm not sure let me call the inventory desk" (or rate desk, I can't remember exactly). A few minutes later she confirmed she got me the last J seat (ZN booking class).
Now there have been some times in IRROPS where I am CPUed or RPUed for a flight and it gets cancelled, I call in and they just book me right into F (F booking class).
Another time, while an agent was handing an IRROPS for me, the guy next to me lost paid F and was offered a refund of the difference. He continued to complain, and the agent whispered to me "Isn't getting home more important than sitting in F?"
I was pretty sure by "policy", they had no obligation to preserve my upgrade but they I think most agents will do their best to try, especially if it is UA's fault.