Technically when you leave Canada or the US you have to surrender your I-94 and have it removed from your passport. In the US, airline agents and customs officers will take it out. In my experience in Canada, they do not bother. In fact the last time I was flying to CUN through CLT, the US customs agent at YYZ removed it and gave it to me saying I should just staple it back in when I return so i do not have to fill out another one.
I think the agent that took yours was doing the right thing by the law. If you are crossing at YYZ, there is no fee and it will only take a couple of minutes. You still have the piece of paper in the back of your passport and all you need to do is fill out the white one again (they are available in the customs hall outside). I would still bring all the documentation with me and the photocopy of the previous one.