I am one of the core developers for Simple Download Monitor. I am a little concerned about this comment you made:
Some plugins do not follow standards and just "hijack" the menu array, making a mess of things.
I would suggest not jumping to such rash conclusions in the future. While I agree there are some plugins which, unfortunately, "make a mess of things"... you almost make it sound as if you are insinuating "Simple Download Monitor" follows these sloppy practices; which it most certainly does not.
Did you take the time to install both plugins and troubleshoot? I did. I cannot replicate the issue. I have both plugins installed on my test site.. and both menu items appear properly.
That is the extent of my testing. I have no other plugins installed.
Judging from your comment (the second post to this topic); it appears you have had some trouble with the menu item disappearing in the past.
Perhaps it would be better for you to find the specific cause, rather than hap-hazardly 'blaming' other plugins.
I haven't dug too far into your code; but I would imagine the issue has something to do with this:
add_object_page('AdRotate', 'AdRotate', 'adrotate_ad_manage', 'adrotate', 'adrotate_info');
From the codex:
This essentially does the exact same thing as add_menu_page(), but checks (and increments) the $_wp_last_object_menu global variable to add the menu item to the last position in the menu items. So, if $_wp_last_object_menu has already been incremented to 25, this call to add_object_page() will send 26 in the $position argument to the add_menu_page() function.
This from WP Trac:
An excerpt from the link above:
When the action admin_menu is fired, I have seen add_object_page() overwrite the last custom post type menu item. $_wp_last_object_menu is supposed to control this, but in this case, it failed.
From all the people who experience an issue with the admin menu items; how many of them are affecting custom post types? All of them??
If I were you... I'd test this further.
Hope this information is of some help.
I apologize if I come off as too assertive or offensive.. but again, be careful of what you say ;)
PS: See the last comment by Sergey on this Trac ticket:
PSS: WOW - I just read your remarks here:
This is what you are telling your PREMIUM customers? Totally not cool :(