I think, the one which does not spend UTXO or at least offers a choice not to spend the UTXO, will serve the best...
First of all, UTXO generally stands for
Unspent
tx(transaction)
Outputs, and you
must spend an unspent transaction output in order to create a valid transaction.
Based on the title of this thread, I will assume that you are looking for a wallet that will not attempt to spend an
unconfirmed output from a transaction that has not yet confirmed, and will answer accordingly.
First of all, you should be sure not to reuse addresses, and doing this will make it much easier to avoid spending an unconfirmed output.
Once you are following the above rule, you will want to find a wallet that allows for coin control. I would personally recommend using electrum as it is a lightweight client (meaning it takes up very little resources), that will generally be able to validate when you have received a transaction, and is deterministic (so all you need to recover your private key is your recovery seed). You can use the coin control features with electrum (both "freeze" addresses, and "send from") to spend only inputs that are confirmed. You can "freeze" addresses when you do not wish to spend BTC "in" those addresses, and you can "send from" addresses whose inputs have sufficient confirmations (you can even select multiple addresses to "send from").
If you are already running a full node locally (or if you are giving immediate credit to people who send you BTC) then you may want to use armory. Using armory will require you to run a full node locally, so any transactions will be fully validated which requires an incremental lesser amount of trust then using a light weight wallet. Armory has similar coin control features that electrum has, although I believe they are titled something different.