Database handle selection logic reworked a bit when selecting FK:

ORM/Model.pm
sub __lazy_build_value_actual

		$t = $foreign_key -> get( $foreign_key_attr_name => $t,
					  _dbh => ( $foreign_key -> __get_dbh( &__for_read() )
						    or
						    $self -> __get_dbh( &__for_read() ) ) );

Removed assert in ORM/Model/Dbh.pm:

sub __get_dbh:
- assert( &ORM::Db::dbh_is_ok( $dbh ), 'this method is supposed to return valid dbh' );

return $dbh;
}

Test involving 2 different databases.