Maybe I'm misunderstanding your suggestion - but I just tried to follow it, and was unsuccessful.
I named my RowID column [IDENTITY] (SQL added the brackets automatically, which I guessed meant I was on the right track...)
I set it to my primary key, so it is not allowed to contain NULL values.
Then when I reran the bulk load, I got the same error message, but with RowID replaced with IDENTITY:
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Cannot insert the value NULL into column 'IDENTITY', table 'PWS_BKM.dbo.tblTradeHistory'; column does not allow nulls. INSERT fails.".
Am I not doing this right?