I do not know much about networking but:
> I don’t really get how, in the case of an HTTP conversation (or flow) which is connectionless, all the packets in the conversation get marked the same.
What do you mean? HTTP is stateless, not connection-less. This is probably related to:
> Although HTTP is a connectionless protocol this change of IP address did seem to freak some services out.
Maybe what you saw is a single request being split into multiple packets taking different routes then different source address from what you said. I have no idea how such setup could work in practice.