I do think UNPIVOT would give you the kind of thing you're after. Something like this should work (I've purposely simplified the example to only include three genres, but you should be able to get the idea from what I've done):-
SELECT MovieID, Genre, [Count]
FROM
(SELECT MovieID, Crime, Comedy, Drama --comma separated list of the genres
FROM MovieGenres) p
UNPIVOT
([Count] FOR Genre IN
(Crime, Comedy, Drama) --list genres again
) as upvt
SQLFIDDLE
If you only want to show the genres/movieIDs where the value is 1 then it's a simple case of adding a WHERE clause to the above:-
SELECT MovieID, Genre, [Count]
FROM
(SELECT MovieID, Crime, Comedy, Drama --list your genres here
FROM #MovieGenres) p
UNPIVOT
([Count] FOR Genre IN
(Crime, Comedy, Drama) --list genres again, same order
) as upvt
WHERE [Count] = 1