In defining a hook_block_info() is it possible to define the region per theme?
I can't say for sure but I would be surprised if that works.

You could try to define the region using the Context module and Context Conditional Theme module if you only want certain blocks to show up in certain regions for certain themes. Context module configuration is exportable so you could commit those settings to code.