Bob,
Thanks so much for the in-depth answer. In the end it turned out to be a "corrupted" view. I sent them a prg to rebuild that view from scratch and it worked fine.
I guess the reason I haven't seen this issue with sql*server then is that I always either use remote views or do insert/updates from temp tables that have the same structure as the underlying sql table. (of course in Oracle you have the memo field --> varchar2(4000) over-filling to watch out for).
Thanks again,
Kevin