Hi Carlos,
i'm glad to see interest on gae front and backends. one comment on version control usage, mirror.gae is effectively a branch/fork of contentmirror. it would be nicer if you could make it as one, ie copy the trunk as mirror.gae, and check in your changes. it makes it easier to merge from the trunk as needed, and to make changes easier to diff, importing it effectively removes all history from the code base.
as we've already discussed in person, i think this is the wrong approach to gae integration. sdk desktop integration isn't particularly useful in and of itself, its not a scalable content store, and never was meant to be. afaics the primary sdk bulk mechanism of transfering content directly to google is csv upload. pushing data directly from plone to google directly from a synchronous content mirror, sounds like a recipe for disaster, its a slow network transfer of object serialization that blocks the request.
i think a better approach to contentmirror appengine intergration and a more generically useful bit would be to define an rdbms sync to a gae datastore. it would need a schema mapping, networking preferrably twisted or threaded base ( concurrent datatransfers) and just sync the bits as directed, defining index or sync state columns as needed in the mapping. or for the impatient ;-) dumping the rdbms to cvs and using the sdk included bulk load tools in a cron job.
all that said, if your interested in this approach, feel free to keep developing it, i could be wrong. i think this approach is definitely more feasible for transactional integration with gae when there is a contentmirror async operation processing mode. even so i'd still clean up the code to be a extension instead of a branch of the codebase. i'm definitely curious in fixing what would help that. afaics you should just be able to make an operation factory subclass, and then use all the same event subscribers, and event coalescence, with an extension provided serialization / transform.
cheers,
kapil