I believe, theoretically, 'Has he been here?' is sufficient to mean whether Prof Zig has visited in the past. With 'before', it reinforces the past and it clearly rules out the possibility of considering the upcoming visit although 'has been' already suggests that.
I can see what you mean but it does sound odd to me without the 'before'. Usually 'has he been here' would refer to a very recent visit, probably on the same day. I'd think of it as 'has he been here yet?' instead of 'before'.
'Has he ever been here?' would be a suitable substitution for the original sentence as well.