In my experience, there's really no perfect solution to this.
i would vote against creating the single product with the custom I/O. It begins to clutter your MMPD Catalog with configurations that may never be used again, and doesn't accurately reflect the separate items that need to be ordered and accounted for on your reports (Crestron DM is an exception for now since they are preloading DM cards, but generally this wont be the case for modular systems )
You could create the frame with it's default I/O in your MMPD Catalog then, after you add it to the project, change the spec on the project copy to get the I/O you want on a single shape (just be sure NOT to save back to the master table). Then add your i/o cards to the project but leave them off of the drawing.
another suggestion, and what i would probably do, is add the frame and cards with their default I/O to the drawing. Edit their component IDs so they indicate the relationship (i.e. Frame is DM-001, card 1 is DM-001-C1, card 2 is DM-001-C2, ...). This way you're only creating the products once in MMPD, there's less editing at the project level (its faster to edit component ID than the IO spec), you get an accurate inventory of the separate components/SKUS, any connection schedules you generate out of a report mostly make sense, if you swap a card or two half way down the design its less error prone. You don't get a single visio block, but can you group schematic shapes in visio without any issues?
just my two cents.
DM is super cool stuff isn't it?

have you done a few DM systems? PM me if you care to dialog about it