Ok, this is interesting. A few thoughts. I think the penalty could work, but it may take some time. For example, I sorted by LFO. Batumi, which is clearly an LFO has 4 tags and shows up way, way down on the page (Atlantis showed up first until I removed all tags but Synth Voice). This could prompt manufacturers to use less tags so that placement is higher on the page. The solution implemented sort of works, but not for items that are tagged heavily.
I know what I had suggested previously may have been too complex, but this is why I suggested it. If there are two lists from which to tag. Where the first list is PRIMARY FUNCTION and users are only allowed to select a single primary function but as many SECONDARY FUNCTIONS as they like, then you could easily sort by PRIMARY FUNCTION.
In the ADD/EDIT portion of the site you could have a dropdown for primary function, so you would not have to have duplicative checklists.
The PRIMARY FUNCTION could be the new database field. It would mean that many modules would not have that particular field filled out for a while, but eventually we'd get there.
Side note: I am not pushing this agenda, I am just having a conversation. I work in a filed where we bounce ideas off each other all day long, so I am not married to any of my ideas, just trying to spur creative thinking.