That's what it is.
Before 1.6.0 I was able to "take a snapshot" of a folder's message list (plain folder or smart folder) and use that for prev/next message even if that message would not be seen in the smart folder.
In 1.6.0 I am not able to do this anymore.
So what happens is -- the current message getting marked read causes it to get dropped from the smart folder. Even if the smart folder is not on the screen at the time, the app makes the same data query when computing prev/next messages, and doesn't find even the currently showing one in the list.
Well, at least it's not as mysterious as it seemed originally. Now I just need to find a way to kludge it