Try this:
DECLARE @MyTable table (MyNameColumn varchar(100) collate SQL_Latin1_General_CP1_CI_AS);
INSERT @MyTable values ('bill');
INSERT @MyTable values ('Bill');
INSERT @MyTable values ('BILL');
INSERT @MyTable values ('BILL');
INSERT @MyTable values ('Sue');
INSERT @MyTable values ('Sue');
INSERT @MyTable values ('John');
INSERT @MyTable values ('Dan');
INSERT @MyTable values ('DAN');
INSERT @MyTable values ('Ralph');
WITH CTE1
AS
(
SELECT MyNameColumn, COUNT(*) OVER(PARTITION BY MyNameColumn) AS Cnt
FROM @MyTable
GROUP BY MyNameColumn, CONVERT(VARBINARY(100),MyNameColumn)
)
SELECT MyNameColumn
FROM CTE1
WHERE cnt > 1
/* -- output
MyNameColumn
BILL
Bill
bill
DAN
Dan
*/
It gets a distinct list of names that have different cases within the dataset. You can expand this concept as needed.