mod_expires can definitely mess up MODx’s caching if it’s set to add headers to .php and .html requests, so proceed with care.
The link that you’d be hardcoding (if you decided to do a script to forward Opera to a page with a query string, which I’m not convinced is the best way to go) would just be index.php?something=whatever. So you wouldn’t need to change that ever, and it could be a plugin or a linked JavaScript file. So I don’t think that would be a big issue for support requests later.
Personally I see the proposed cure (all requests for www.yourdomain.com resolve to www.yourdomain.com/index.php?id=1) as far worse than the problem (only Opera users don’t see refreshed content for only your home page if they’ve already visited it that same session).
I agree with your suggestions.
I think the older version of Wayfinder will probably the solution I’ll choose.
I would like to test mod_expires for my own curiosity rather then use it on this project.