How safe is sending out transactions using unconfirmed inputs for a service? I've been running into problems with a high-traffic hot wallet, where a single transaction would lock up any input for a block with the spendzeroconfchange disabled.

Would it be safe for a service like Coinbase to use unconfirmed inputs on average transactions? Would I run into similar issues like MtGox did?
Safety is relative---large payment processors like Coinbase probably have non-block-chain anti-fraud measures.  However, a confirmation (and each additional confirmation after it) reduces the risk of a double spend fraud, so waiting for a certain number of confirmations is an easy and effective anti-fraud measure that doesn't cost you anything.

I don't know for sure what happened to MtGox, but it is true that an unconfirmed transaction can become effectively unspendable if any of its inputs become unavailable---which could happen because a block was created containing a transaction that already spent that input (a double spent) or because the transaction which created that input was added to a block in a mutated form (transaction malleability).