I have had numerous issues with the ProjectPointToNavigation function in general – I was attempting to make exactly the same kind of query as you, and found that the approach you’re taking (specifically querying with (0,0,N) extents) didn’t work all that well even in PIE.
I think the main issue is that the extents themselves, by the time they get pushed down into recast, get quantized (according to whatever quantization scale recast actually uses in building its own internal representation). As a result, when I made extent queries, I was finding the result were sometimes off by 50-100 units in either direction. This would explain why sometimes your getting incorrect results – though I stress I have no idea why cooked vs. non-cooked would be different.
I’m wondering in your case whether you might not want to do several queries within a short distance of your target point, and find some intelligent way to combine the results. That is essentially the approach we have taken in our game.