I think the former: there should be one place where the check is done. This makes the code cleaner (as you don't need to have checks everywhere) and safer (as it's not possible to leave them out).

By all means, if there's a place you could early-out from more work than just creating the wirelink if you checked then feel free to check - but in general, I think it's a lot more elegant to do the checking in one place if you're going to do the rest of the work in one place.