If there is no cell under these coordinates, there are no selected cells
That statement is correct. While working a lot with NatTable, doing really fancy stuff, whenever at that place a NPE was thrown, something else was wrong. Because the question for the selection state of a cell in the SelectionModel is typically only requested by the SelectionLayer. And it should never ask for the selection state of a cell that does not exist.
Is that done intentionally?
I don't think possible NPEs are implemented intentionally. But as I said, in my experience a NPE should not occur if not something else is wrong. And the wrong things mostly caused by wrong usage.
If you give me a valid use case why the null check should be performed, you create a ticket telling about it, I am willing to add the null check of course.