Let's assume you want to use a classic "resource domain/account domain" setup where:
which provides you with the security you want - the forest boundary stops anyone in DomainA accessing the account information in DomainB.
This works fine for actions like connecting to a remote file share but not for sending MSMQ messages.
To explain why, I'll step through the security checks for these two actions:
File share:
This means there is no need for the remote machine to contact Active Directory in Forest2. A one-way trust is adequate.
MSMQ:
This means the remote machine MUST be able to contact Active Directory in Forest2. A two-way trust is essential.
Workarounds
Note: It is not a big task to spoof the SID in an MSMQ message so it is recommended that you use something stronger (certificates) than an Access Control List if you are really concerned about restricting who can, and cannot, access your MSMQ queues.
Note: This only applies to sending messages. Receiving messages will follow the same model as the file share discussed above so should work fine.