This is an INN architecture issue issue, not a news server issue per se. As a result, a client connection takes about 1000 bytes of context, and that's because my command buffer is in the context. Fetching by message ID is also an INN issue, not a generic news server issue. What I'm saying, though, is that fetching by message ID could by VERY cheap. You shouldn't shy away from that, particularly if it significantly simplifies the news server implementation, just because INN, today, doesn't handle it well.
Clients currently know how to read groups.
The additional work on the client for all this is very easy. It's just not as good as the alternative. This is where we disagree.