The way you set it up is to arrange that there's a "conversation" for the TCP connection, and assign a non-heuristic version of your dissector as the dissector for that conversation; see the sample dissect_PROTOABBREV_heur_tcp() routine in the README.heuristic file - it does exactly that.