have you read
this?
Having two tables with many-to-many relationship you need third intersection table that keeps only relations betwen primary keys of first table and primary keys of second table. Then you have to set $_referenceMap on intersection table only(if i remember right).
Seems there are some updates regarding many-to-many relations in official documentation. Read Section "9.8. Zend_Db_Table Relationships" even if you have seen it before.
I can copy-paste code from my project on monday 13.08.