I'm lost here. I suddenly started getting these messages and my sends and receives don't have inputs/outputs. Why did this kick in? Does it only kick in once the patch is a certain size? Is there an easy way around it?
Further unto Stefan's comment: If the term "namespace" means anything to you, be advised that Max doesn't have any.
You can't have any combination of [table foo], [coll foo], [receive foo], or [buffer~ foo] at the same time. Using a symbol for one purpose effectively blocks the symbol from being used for any other purpose for the entire duration of a Max session.
For big patches it is helpful to use naming conventions to avoid these sorts of conflicts. I make a habit of using names in the following form for bound symbols
where xxx is a 2-4 letter abbreviation taken from the main top-level patch and yy is an abbreviation indicating the type of usage (bf for buffer~, tb for table, etc.). "theMainName" is whatever I want. This way I can open different patches without fear of name conflicts. If a patch is sufficiently complex I'll insert another component into the symbol to indicate the subpatch.