Some transactions are "booby trapped".
Common causes are the user type is SERVICE (not subject to license measurement, so professional user tcode functionality will not all work..) and FOR USER extentions in the authority check statement (this can happen if you do client copies to dev or if you do not use real new test data with a test user in a qas system - increasingly so since the function module AUTHORITY_CHECK gains popularity to check auths before processing.
It can be confusing, but is actually quite useful... :-)
Cheers,
Julius