Is there a maximum number of joins that you can do in a Magic ETL data flow?
Not that I'm aware of, given the correct configuration of the join.
You may encounter a "10,000 duplicates" error. If that's the case, simply swap the inputs and the direction of the join. There are a few posts about that here.