WordPress Restrict Access to Admin Area based on Role

Solution:

When adding the new role with add_role() you (or a plugin) defined “Role name” and “Display name for role” (http://codex.wordpress.org/Function_Reference/add_role).

current_user_can() takes name, not display name, i.e. “case-sensitive, and should be all lowercase” (see http://codex.wordpress.org/Function_Reference/current_user_can)

In your case I’m guessing that would be

... && !current_user_can( 'super_user' ) ...

EDIT:

Only now did I see you are passing a role instead of capatibility to current_user_can(). This will work (in WP 3.6 at least) but don’t do that.

From the docs (links above):

Do not pass a role name to current_user_can(), as this is not guaranteed to work correctly (see #22624). Instead, you may wish to try the check user role function put together by AppThemes.

I’d suggest that you use some capability that only admins and your superusers have, probably update_core or something similar.