Service Broker - Communication not happening between servers despite ssbdiagnose saying all is well
Is the database master key encrypted by the service master key? If not, the db engine has no way to automatically open it. To check, take a look in sys.asymmetric_keys, specifically the pvt_key_encryption_type_desc column. If you find that it's not, you can make it so by doing 

alter master key add encryption by service master key