Also, something I was a little confused about. When receiving a broadcasted transaction, you don't actually know which part is change right? So can you even tell the net amount of the transaction, or are you really just basing the threshold off the sum of the inputs?
For example
1 input with 50 coins
2 outputs, first for 0.01 second for 49.99
You don't know if the 1 cent or 49.99 goes back to the sender right?
Obviously if the transaction was being generated from within your client, then you could tell. But for broadcasted transactions I wasn't sure how to make the rejection rule.