Yes, it needs to send a tx and all its unconfirmed dependencies actually. The wallet can have a method to provide such a collection.
I filed issues against bitcoinj for these two things.
P2P protocol changes to send multiple tx's in one packet are needed for child-pays-for-parent as well as replace-by-fee secured zero-conf transactions, so it'd be functionality that will get used by a lot of things.
They don't need to be in one "packet". As long as a node can validate the tx and any unconfirmed parents they will be relayed. Technically it is likely the peer already knows about the unconfirmed parent but sending both just avoids the tx being dropped.
So for unconfirmed tx there is no issue (at the protocol level but based on OP report if accurate there is some issue with the client) in unconfirmed chains. The main unresolved problem is that the algorithm in bitcoind used by miners to select tx for a block ignores child-pays-parent.
This means usually a tx with a high fee which has a unconfirmed parent w/ low/no fee ends up being delays. It may take a considerable amount of time before a miner includes the low priority parent into a block and until they do so the high fee child is ignored.
Still all that has to do with first confirmation time. The issue described by the OP is that down chain tx are "not seen" (meaning not even unconfirmed) by the receiver and reported by the client as unsent. Unless the OP is mistake or my reading is incorrect that is a client side bug and not a restriction of the protocol.
I had received 60 BTC
Paid my drink (0.01987something)
sold 10BTC
sold 10BTC
sold 20BTC
sold 10BTC
and was unable to spend the remaining BTC because the first transaction was still unconfirmed (in this instance, the app had not seen the next block, but there have also been times when a block took 30 minutes).
What should have happened (even assumming empty wallet no other UXTO)
I had received 60 BTC
Paid my drink (0.01987something) - instantly sent - unconfirmed
sold 10BTC - instantly sent - unconfirmed
sold 10BTC - instantly sent - unconfirmed
sold 20BTC - instantly sent - unconfirmed
sold 10BTC - instantly sent - unconfirmed
I could send the rest without issue or delay
None of the tx would be included in a block until the first one was and since child pays parent is ignored by miners it may be a while but as far as unconfirmed tx there should be no issue.