Please DontWriteLongLines. It makes your thread very hard to read. I've broken yours up this time, but please read the link before you post any more code.
Thanks
Winston
"Leadership is nature's way of removing morons from the productive flow" - Dogbert
Articles by Winston can be found here
Speaking of insane... those class and variable names are horrific. The Hungarian Notation warts you have there may be typical of C programs but I would think that even Simonyi would cringe at how his notation is used here.
Check your actual list contents, you may not actually have what you think you have. Also, I don't understand why you have to make your lists have these concatenated values. Why not just use the ids or names if they're going to be the same anyway? Then when you've excluded the items that you want to exclude, then you can build out your "name==id" strings. Seems like you're doing a lot of things before you actually need to do them. Also, removeAll will use the equals() method of the list items to determine whether they need to be removed or not. Instead of doing string concatenations, why don't you just use a proper domain object with an equals implementation?
This is the output when I run the code I just gave:
$ java TestRemoveAll
mainList changed = true
[TestAppServer Agency==2547, DWN test agency for multi-agent ica agent==3562, test agency for multi-agency ica agent==3560, Acceptance Test Agency==510, SAI agency created for soaptesting==2587, Agency for ICA testing==3558, GIC test agency for multi-agent ica agent==3561, SOW TEST Agency==3498]
Size of mainList before is 12, Size mainList after is 8.