Sincewent into Views, it is now possible to write back-end independent fields. Based on that it is pretty simple to implement a VBO field that works with the database backend, Search API (there is also an issue in the Search API issue queue ) and so on.
I was taking a look at it and fixing the handler for normal entities would be pretty simple, as we could just reuse the views_handler_field_entity, which would also remove some code in the views_bulk_operations_handler_field_operations class. Then I realized that there is also support for entity revisions, which makes this approach complicated.
Directly extending the vbo handler from views_handler_field_entity would break the revisions, writing two separate handlers, one for the entities (whereas this extends field_entity handler) and one for revisions (extending the basic field handler), would duplicate much vbo specific code. So I decided to let the VBO handler stay pretty much the same as it was before and to add a specific field entity based handler. As this one can not extend from the vbo handler and the views entity field handler at the same time, some code is copied from the entity field handler.
I'm not really happy with this solution yet, but couldn't think of a better one. So waiting for your opinion.