Devon isn't with the FBI, he's working with the CIA. This is just my opinion, but I get the feeling that Devon is actually an undercover CIA agent and not an informant. He's making too many decisions to just be an informant. Castel, the niece, is able to get away with killing her uncle because the information she gives Devon is valuable enough for him to overlook her crimes. It's why he killed El Santo.
James left Teresa because he was the one that Devon actually wanted. Devon took James because he wanted to clean up the mess James made by killing that family in Texas.
Teresa isn't being arrested because Devon thinks she is useful to him in someway.