there has to be a way to avoid a subreport, though it is looking as one of the easiest methods.
if there are checkin everyday, then you might try something along this idea, which is using shared variables.
Everytime this is checkin, add the people to the total and update a string with their checkout date and the number in the group. Since every day there is a checkin, you can first check the string to see if that date is there, and if so, subtract the number of people in the group(and update the string). I would do this by using a delimited string, though that may not be necessary.
Since CR XI can loop, you wouldn't need to worry about grouping the checkouts, just a date and number, just remember to rewrite the string when dates are removed, this will keep the string 'shorter'
you could even create totals of checkin/checkout for a given day if desired.
If checkins cannot be guarenteed for everyday, I am sure that there is a way to return all the dates in the range and then group the data by calendar date.
I realize that this is sketchy, but hopefully it points in a direction that you can use.