if a user sends coins to the return address on a transaction, will it always go to the sender (presuming that the sender is still running the same client and wallet)?
What return address? Bitcoin doesn't have return addresses.
If you send bitcoin to a randomly selected address from one of the inputs in the transaction, the person with the private key to that address will "receive" the bitcoins. That person may, or may not, be the "sender" of the bitcoins depending on how they sent them and what wallet they are using.
Perhaps I should of said "Sender address", which I anticipate mainstream users will interpret as the "reply-to address".
Let me rephrase:
Before diving into bitcoinj, I'm trying to do testing to fully understand the behaviour and limitation of bitcoin and its clients.
So, I have Bitcoin Qt running on Linux with coinage, and Bitcion Wallet by Andreas
Schildbach running on Android. The latter uses bitcoinj 0.8.
To test micropayments, I sent 0.01 with a tiny fee to the tablets. On the tablet, it showed the sender address as being one of three addresses I had setup under the Receive Coins tab of Qt on the desktop. First question: With three to choose from how did it pick this address? The receiver address on the tablet transaction details was not the address the coins were sent to.
I then sent another 0.01 without a fee, and it arrived OK in the tablet. But, not only did the the sender address not match any of the three in the Qt client, that address was what was the receiver address in the first 0.01 address. How is this possible?