Just check code (but I’m no PHP Developer), it does look Like different different code is use.
for categories, function wpdm_embed_category around line 1647:
$current_user_role = is_user_logged_in()?$current_user->roles[0]:’guest’;
$category[‘access’] = !isset($category[‘access’])||!is_array($category[‘access’])?array(‘guest’):$category[‘access’];
//check if current user is allowed to access to this category
if(!@in_array($current_user_role, $category[‘access’])&&count($category[‘access’])>0&&$category[‘access’][0]!=’guest’) {}
but in function DownloadLink line 570
$caps = array_keys($current_user->caps);
$role = array_shift($caps);
$matched = @array_intersect($current_user->roles, @maybe_unserialize($package[‘access’]));
When will you have a fix?
Thanks