When updating, ALDSP generates SQL statements like
UPDATE MY_TABLE SET MY_COLUMN='NEW VALUE' WHERE MY_ID='PRIMARY KEY' AND MY_COLUMN='OLD VALUE'
and inspects the update count to see whether a concurrency error has occurred. The set of columns that are checked in this way can be either all columns in the SDO object, only the modified columns, or a set of user-specified columns. However, it turns out that ALDSP will quietly drop columns of data types that are difficult to compare for equality. At time of writing, this set reasonably includes BLOB, CLOB, LONGVARBINARY, LONGVARCHAR, VARBINARY, and BINARY. Just as reasonably, but perhaps unintuitively, it also includes FLOAT and DOUBLE.
The list of troublesome data types was gleaned from the methods getUpdateSql() and canBeIncluded() in the class com.bea.ld.dsmediator.update.SQLGenerator.
See also the exchange on this topic in BEA's newsgroups.