The way block_id is set up leaves much room open for interpretation. Since positioning-trips (trips with empty vehicles) are not included in the GTFS, there is no way of knowing whether passengers are actually allowed to continue in the vehicle the entire block_id.

This would be a perfect valid block in GTFS:
Trip 1 (Station A to B): departure 6:10
Trip 2 (Station B to A): departure 6:40
Trip 3X (Station A to Garage): departure 7:50 (Not for passengers)
Trip 4X (Garage to Station A): departure 16:40 (Not for passengers)
Trip 5 (Station A to B): Departure 17:00

Since trip 3X and 4X are not included, you have no idea that you're not able to sit in the vehicle while transferring from trip 2 to trip 5.

I greatly exaggerated this example but the garage trip could also be a very short circle around the bus-station without passengers. For the latter the solution would be to re-do the way interlining is done in GTFS.
But filtering large interline-dwell's would be good enough to filter this case in the example. Ordinary transfers will ensure a valid route anyway, there just might be a few false negatives missing the notation that passengers can stay on.