I am having a very similar problem but with a different validation constraint. I have my portal rows reverse-sorted by Date, the first column, FWIW. New rows are naturally entered at the bottom. The rightmost column is 'Always Validate', 'No override', and 'Not Empty'. If you try to leave the rightmost column of a new OR existing record empty, then click outside the portal to force a commit, you are dumped to the incorrect TOP (most-recent-by-date) row, albeit in the correct column.
Can anyone elucidate?