Essentially the error msg means that the 'testmember' value appears differently in the SUBCATEGORY level of your hierarchy. The next msg in your log should say "It may be that the same caption exists with different variants of upper and lower case characters, or with a different number of leading blanks. The MDX language is case tolerant so having one or more captions that differ only in the case or number of leading blanks makes the captions ambiguous."
SAS OLAP Cube build process is very sensitive. Meaning that if you have a dimension with members in different cases (such as 'U.S.A.' and 'U.s.a') or with extra spaces/special characters (such as 'My Movie Title ' and 'My Movie Title') then you will receive that error message. It basically is blocking you from creating separate levels for something that is likely the same.
I have seen similar when dealing with special characters in the data table (such as carriage returns and leading/trailing spaces). Clean data is imperative to OLAP cube building. You might not pick this discrepancy up in a sql query - b/c sql doesnt take into account spaces and special characters like SAS OLAP does.
I would suggest including a step in your source data creation to change anything that looks like 'testmember' to 'testmember' and rerunning the OLAP cube.
~ Angela
http://sas-bi.blogspot.com