I think the ssget filtering is messed up when there are multiple occurrences of the same DXF code in the DXF Data.
This appears to work for my tests:
(sssetfirst nil (ssget "_X" '((0 . "MULTILEADER") (-4 . "<NOT") (290 . 1) (-4 . "NOT>"))))
Don't ask me why...
See, the part that does make sense is, if I use yours or mine (only difference being 290 being 1 or 0, it still filters properly. Actually, If you put any number with the 290 ditted pair, it will only select MLeaders with the text property.
I have found that working with dxf codes and multileaders almost never seems to give the desired result. Perhaps a revision your code to select the mulitleaders, then use VLISP to create a new selectionset from that initial selectionset, only containing the mleaders that apply to the particular properties you desire.
I could, but as Lee was saying, if I can filter everything at the source, why not attempt it to get it right?
Screw it. Unless someone comes forward saying that
(-4 . "<NOT")(290 . 0 or 1)(-4 . "NOT>")
does not work for them, I'm using it.
Thank you all for testing and contributing your thoughts/ideas.