Ben Ubois, the guy behind FeedBin, got back to me earlier today advising that the reader doesn't mark items older than two months as unread. This is to prevent issues with "misbehaving" feeds. To alter it for an edge case like mine would likely cause all manner of issues elsewhere.
He came up with a workaround (which I really should have thought of myself) of making the published date in the feed "today" and then including the original date in the item content.
First signs are positive so I'll check it on a test page and, if all is good overnight, switch the revised code in tomorrow.
How's that for customer service!