If he can wait in YVR for a different ship, I think he'll be ok. However, even if the same ship just stopped in YVR for 24 hours, and the OP's husband is on it when it departs, it's still a PVSA violation. That's just a slightly longer than normal port call. It still can't avoid the fact that a foreign line (Princess) can't transport paseengers between SEA and SFO without going to a "distant" foreign port, i.e. not YVR.