So this is a problem with the way that MSIGs work on EOSIO at the moment. There is a fix for this, but it is in testing phase and will be implemented at the discretion of the BPs.
The reason that this problem occurs is related to deferred transactions, which are now deprecated in EOSIO.
The problem is caused by the MSIG transaction calling a deferred transaction to execute the actual transaction that is being proposed. This is a problem because deferred transactions often fail due to their lower priority to be processed by BPs compared to non-deferred transactions.
When the upgrade is implemented, then the execution of the proposed transaction will be done inline as part of the MSIG, so a successful MSIG execution will guarantee that the proposed transaction also executed.
In the mean time, there is no way to guarantee that the transaction executes. You can use dfuse
to get the transaction ID of the deferred transaction and then wait for it to enter the executed status, but this could take a significant amount of time and is likely to fail, leading to a bad UX.