This is a very strange problem indeed.
I would check to make sure that the table you are loading data into and the table you are selecting from are the same ones.
Could they be in differenct schemas, with the same name?
Is it possible that the table being loaded into is a global temporary table? I don't have time to check the documentation to see if you can load records into a global temporary table with sqlloader, but since no one else has offered you any suggestions, I will jump into the water.
Good luck