Can receiving money make a transaction fail? Scenario: Alice has a wallet A1bz (let's say these are the first 4 characters of the private key in wallet import format so we don't have to deal with too many characters) with wallet address 1A1 and 100 mBTC in it. She also has a wallet A2bz with wallet address 1A2 for change and wants to send 50 mBTC to Bob's wallet with public address 1B1 at 15:00 but only pays 0.01 mBTC fees (as opposed to 0.1 mBTC) which would be the recommended amount. This means that the transaction probably won't go through right away but will have to wait for a few hours.

This means that transaction1 is built like this:

transaction1: (1A1) -&gt; (1A2(49.99 mBTC), 1B1(50 mBTC), fee(0.01 mBTC))


So transaction1 requires that there are 100 mBTC in wallet 1A1.

However, Carlos comes along and sends 1 mBTC to Alice at 15:05:

transaction2: (1C1) -&gt; (1A1(1 mBTC), 1C2(4.9 mBTC), fee(0.1 mBTC))


transaction2 goes through right away in the block which closes at 15:10. transaction1 isn't confirmed at that point in time.

Does this mean that Carlos aborted transaction1? Afaik, the inputs need to be depleted entirely which is why change is needed in the first place.
No.

The addresses in Bitcoin only signify ownership. You don't need to spend all money from an address or any such thing. The atomic units of Bitcoin transactions are Unspent Transaction Outputs (UTXO).

UTXO are uniquely identified by the txid of the transaction that created them, and their position in said transation's output list. 

E.g. if the transaction id of transaction1 were tx01 the 49.99mBTC output to Alice would be tx01-00 and the 50mBTC output to Bob would be tx01-01 (computer scientists start counting at 0).

To spend a UTXO, you'd reference them by this identifier, i.e. "I want to spend tx01-00". Then you need to provide a signature that corresponds to the address that tx01-00 was assigned to, and you get to reassign the balance that tx01-00 represents. Afterwards, tx01-00 is invalidated.

So, in your example transaction1 spends UTXO that are unrelated to transaction2, so transaction2 has no bearing whatsoever on transaction1.