You could also say the creators of the wallet client could take advantage, but already
they could in theory make all wallet clients send BTC to them.
Public coding is good because anyone can look at it and make sure, this can also apply to this design as well.
The thing about open source is not everyone has to run the same client. Whatever authentication you might attempt to keep people honest will probably be circumvented, and this is before we get to the problem of how to execute change transactions when the whole private key is signed over. Will you send change to the normal network and pay the fee before handing over the private key? The closest thing I can think of to what you want is Open Transactions, but it doesn't work the way the system you are describing does.