As stated in the title. How do I know that when my node gets data from, or sends data to another node, that this other node is on the same version of the protocol? What prevents my node and their node from getting confused and communicating data between different versions of the network?
What different versions of the protocol/network? All protocol changes were backwards compatible, so there really is only one Bitcoin protocol. There are a few op_codes that old nodes don't interpret correctly, but they're fine with that.
Unless you're talking about altcoins and Bitcoin, they don't have the same seed nodes, so they wouldn't find each other. Even if they were, they'd ban each other for relaying invalid information.
This it's for example what happens if a protocol is upgraded that is not backwards compatible. Old nodes see that information from new nodes doesn't adhere to the rules and stop talking to them.