I think you are supposed to use SUSER_SNAME() in most situations.
i believe the difference is SUSER_SNAME() would return a domain\username for those people who are not explicitly on the server, but only get access through an inherited role;
so if you grant a windows role access, SUSER_SNAME() would return results, but SUSER_NAME() is blank, because that user is not explicitly in the sys.server_principals table, right?
help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!