In addition to there not being a Limit1 clause, the one other thing of significance that's different in Query 2 from Query 1, is that there's no OrderBy clause in the Query 2's sub select clause. It would seem that the Limit clause must be the reason you're seeing a difference in what's being returned in your SOAP query.
This would also seem to be a function of the WSDL. That would explain the difference between what you're seeing between what's returned from the SOAP query vs what you see running Anonymous Apex in the Developer Console.
EDIT: further explanation in response to comments
When querying an org via the SOAP API, the query is constrained by the WSDL. In essence, the WSDL controls how the query is actually processed which may not be exactly how it would be processed if run in the Developer Console. It may be close, but not exactly the same. That's because the WSDL defines the relationships between the objects involved and thus, exactly how they can be queried.
In addition to the differences in the number of fields queried (trivial at best), there really are only two differences of importance. The first is the Limit 1 clause having been removed from Query 2. The other is the OrderBy clause not being included in that same sub select clause.
Hopefully, its clear why the OrderBy clause would have no impact on the number of records returned. Once that's observed, one can easily conclude that its omitting the Limit 1 clause that allows Query 2 to return more records than Query 1; thereby increasing the number of records it returns.
As for advice on how to form the query to ensure you get all of what you desire, I would recommend removing the limit 1 clause from Query 1 and see if it runs correctly. It's Id will still need to be in the list of records that you're querying and if you're not getting duplicates from Query 2, I wouldn't expect them from Query 1 if executed without the limit clause.
BTW, someplace in the editing of your question, the order of the records returned seems to have gotten reversed from what was stated in your original question: 1461 for Query 1 vs 1501 for Query 2.