This part of your XPath:
...@AssignID[@EmpID = '" + value + "']/@FullNameLast
reads as "retrieve the FullNameLast attribute belonging to the AssignID attribute that has an EmpID attribute with the value value," but it's not possible for attributes to possess other attributes, so that is part of your problem. My guess is you want something like
...d:EmpAssistants[@EmpID = '" + value + "']/@FullNameLast
Also, unless you're absolutely sure that your .SelectSingleNode() is always going to find a match, you shouldn't reference its .Value without first checking that it's not null (or Nothing in VB speak). If it is, you're going to wind up with null reference exceptions.