So, it's a messenger more or less. Good to know
More specifically, it is a message composer, but it does not transmit the message. Note in my example the components of the message (btc address, message, signature) had to be emailed to me.
how does Bitcoin-Qt know which of my visible and invisible public address(es) to include in the message for you?
You have to select/enter the address yourself.
I do not know the address from which I sent you the money (when I click in Bitcoin-Qt ''Transactions'' then ''Transaction details'' it doesn't tell me which of my public addresses was used for making the payment in your favour) so I cannot enter my public address by myself (am I correct or not?)
This is a good question, and I don't know the answer -- little help from someone with more expertise?
2. Are you the only person who can see my message?
The answer to this question depends on how the message is transmitted, but it should be assumed that anybody can/will see the message, which is why it is recommended that the content of the message contain the specific details of the context of the message, e.g. "This message sent on this date to so-and-so is for this purpose..." This will prevent the message from being hijacked for other purposes.