Hmmm. I am not sure what is causing it. Almost always with what you are describing it has to do with a join and an outer join can become an inner join quickly.
I would not give up on this as the problem.
I would make a quick test report add all of your tables with your joins as they are now. don't add any select criteria.
add your primary key fields or something similar from each and every table. JOins are not enforced until you add a field from that table to the report (or you force it in the join set up).
Do a search for 259535 to see if it is there at this point. It should be. If not then something is real screwy. Assuming it is there start adding in just part of your select statment or other things until you see it disappear to figure out what is causing it.
I usually handle these things in views and use that as the source and is is much easier to control but I don't recall if you had access to making views or not.