i think that takeoff clearances should only be issued when an aircraft requiring a runway crossing is STOPPED.
this kind of incident happens all the time all over the world. the causes are plenty - the crew didn't hear the call, didn't realize it was addressed to them, or maybe they were busy doing after landing checks, etc. etc. none of it is really excusable for unprofessional conduct but we all have to work in the interest of safety to prevent idiots from causing accidents.
if i had things my way:
Air Canada 1 hold short rwy 22.
(readback)
Commutair 3 taxi via XYZ (hold short rwy 22)
(silence)
(Commutair 3 taxis across the runway obliviously)
Air Canada 1 cleared for takeoff (watch for jetblast from idiotliner 3)
definitely slower but it is safer. runway intersections are a safety hazard, IMO aircraft should never be planning to enter 2 intersecting runways at the same time which means we shouldn't be giving takeoff clearances unless the potential conflict aircraft has been confirmed by ATC as being stopped first.