The channel entries API appears to just try to save whatever data you pass it directly into the appropriate channel_data fields without checking to see what type of custom field it is actually dealing with. There are a growing number of add-ons that have their own database tables where they store the custom field data in a nicely indexed, organized, and searchable way.
Right now any channel that has such a custom field is incompatible with the channel entries API, limiting its potential greatly. Is this issue on the radar? Considering that the fieldtypes adhere to your own API and the breakdown happens between two first-party APIs I’d consider this a bug.
edit:
it appears that the channel entries api submit_new_entry method actually attempts to call the post_save function for the custom fieldtypes. this gives me hope that this functionality is intended to work and just isn’t completely there yet… if it could call the third party fieldtype validate and save functions as well we might have something useful here 😊