Adding the LIMIT option to an FQL causes MORE results to return than without the LIMIT. For an example:
SELECT post_id, actor_id, message,description,type FROM s
The article you linked to actually addresses this issue:
You might notice that the number of results returned is not always equal to the “limit” specified. This is expected behavior. Query parameters are applied on our end before checking to see if the results returned are visible to the viewer. Because of this, it is possible that you might get fewer results than expected.
Which basically means that facebook filters the results after it executes the query.
In your example, in the first query, there's an implicit limit, say 5. Out of these 5 results, 1 is filtered out because of visibility restrictions and you get 4. In the second query, the server gets 10 results, filters 5 of them out based on visibility and returns 5 to you.