Version: 0.7.7 (using KDE 3.2.1, (testing/unstable)) Compiler: gcc version 3.3.3 (Debian) OS: Linux (i686) release 2.6.3-mm3 knode re-retrieves articles already seen (and hence cached) just a while ago. I guess this could be after some time, or after switching to a reading articles from a different newsgroup and then coming back to the previous one and selecting some read messages.
This is actually the intended behaviour. KNode doesn't have a real offline (disk-)cache and thus can save articles only temporary in the RAM. The amount of memory which is used for this cache is limited and thus already downloaded articles might be removed from the cache and need to be refetched later if you view them again (articles currently in the cache are marked with a small check-mark). These memory limits for the header and article cache can be configured (Reading News -> General -> Memory Consumption). To achive the desired behaviour you might want to increase these values (if you have newsgroups with lots of articles, you need to increase the header cache, if you have large articles you need to increase the article cache).
As explained in comment #1 you either have to increase the amount of memory used for caching (which is already possible) or you need a real offline storage for messages (duplicate of wish #8206).