Since I found a some kind of solution I though I'd better post it here as well.
Instead of a Oracle ODBC I used OraOLEDB.Oracle driver, not forgetting the parameter PLSQLRSet=1 to support Result Sets returned by stored procedures.
That solution worked perfect with a test program. But I still had the same error (character set mismatch) with our real application. Our application is built on several layers and one layer is handling all sql and procedure calls to server (just the interface). What I found out is that we use disconnected recordsets when we access database.
So my guess is that you can't use disconnected recordsets with Oracle if you want to update the recordset data later. Maybe it'll work with Oracle 9 but I don't have a Oracle 9 server to test it.