Dashlets also have a family attribute. The value of family attribute controls whether dashlets are user dashlets, site dashlets, global dashlets, or whatever dashlet family you want to call.
We ran into the same problem. To solve the problem we created a custom page. In that custom page, we added custom dashlets that had a custom family attribute (not being displayed in the dashlet library for users to add). We then set permissions around the page. This way certain users can see the page custom page and had access to dashlets on them.