When I flew YHZ-YYZ-CDG-DKR on an AF ticket with WS codeshare flight I had to show my documentation to the AF Gate Agent in YYZ. This would be a similar situation.
As to why the agents in BUD didn't get your friend to apply then and there? They were most likely third party contracted agents (Swissport or similar) who don't necessarily know the ins and outs of Air Canada and Canadian ETA rules. The screen said that your friend needed an ETA, then your friend couldn't fly without one.