Heh, true. Are 0 input/output transactions actually valid. I thought at least 1 input and 1 output was mandatory (or 0 inputs for coinbase). You can have 0 valued outputs though.
Meh. According to spec, no, they're not valid. But they get serialized fine, it's just nothing happens with them.
Have any actually ended up in the block chain?
No.
2: Malwritten clients, when served with a amount to send = 0 BTC by the end user (propably by mistake, user simply forgot to enter amount), do not validate that the clients amount exceed 0 Before attempting to create a transaction. When the client attempt to create the transaction, it finds out that theres no need for inputs anymore ("do until"-loop) because the amount has been fulfilled. And theres no outputs to add, because the client automatically deletes any outputs with amount=0.
Then it ends up with a "empty" transaction, and sends the "empty" transaction.
...All sounds good. except... ZOMG ZE END OF ZE WORLD!@@! A "DO UNTIL" LOOP?#^%#$^) kill me now%!## I'm having flashbacks to my pascal/delphi days lol
....And Piotr, wtf is a "correct horse battery staple" input

besides my favorite xkcd reference, that is
