Try replacing
select="Source[BlackListedFor/client[@guid!='badguid']]"
by
select="Source[not(BlackListedFor/client/@guid='badguid')]"
It's the difference between something that has an attribute A that is not equal to B, and something that does not have an attribute A that is equal to B.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference