OK, so had I left the client running, it would have completed the transaction eventually and then would show up on my smartphone? Still, it concerned me that the bitcoin amount was debited from my client, but not immediately credited on my smartphone client.
The "debit" was only in appearance: the client knows that a pending transaction is dependent on those funds and reserves them for good reason. The client will keep pushing the transaction. The funds aren't "gone" by any means, they are still technically on your side and the client is just denying you access to them... but this is by design. It would be unreasonable for the client to make it seem like you are able to respend funds you have already spent and which you presumably intend for them to go to the person you paid.
This may be more significant: the client only tries to resend once about every half hour (it randomizes the interval) with no way to force it to retry manually. Since I have been working with the code for the upcoming release, I believe that feature has been added.