With Exchange 2007 SP2 and Exchange 2010 there is a new term called version based routing. This is basically an exchange 2007 mailbox server can only communicate with the store driver on a 2007 hub transport server. Also an Exchange 2010 mailbox server can only communicate with an Exchange 2010 hub transport server. However an exchange 2007 hub transport server can route mail to an exchange 2010 hub transport. For co-existence you must place at least 2 hub transport and 2 mailbox servers in every site containing both exchange 2007 and 2010 so support both infrastructures.
This picture is handy in showing how they coexist inside a single site: