AFAIK a FREE transaction must have (as of 0.8.6 satoshi client version) less than 300 bytes. Yesterday, my Bitcoin-Qt 0.8.6beta just send - what seems to be invalid - transaction, which have over 600 bytes and 0 Fee. How come?
Shouldn't Bitcoin-Qt apply 0.0001 BTC, because transaction is over 300 bytes?
EDIT: My bad! AS I find out (https://gist.github.com/gavinandresen/7670433#086-wallet), transactions over 1000 bytes must have a fee. So this one is a 100% valid free transaction. Any one can guess, how long it can wait for confirm?