because there is no undo generated, there is quite simply no way to provide a consistent read - which is the only way we read.
We can provide consistent reads for every other transaction out there - except for the one that direct pathed the data. They just ignore the newly added data (they cannot see it, it does not exist). But the transaction that created would see it (if they could query it), but without the undo information - there is no chance of a consistent read being supported - so no go.
after they commit- the entire world can see the new data and all operations on the existing data will always generate undo, permitting a fully consistent read for every one.
if consistent read is not a term you are familiar with, see:
http://www.oracle.com/technetwork/issue-archive/2010/10-nov/o60asktom-176254.html