Probably the easiest way is to flag your addon as LoadOnDemand, and then specify that it should be loaded at the same time as Blizzard_GuildUI (using LoadWith): http://www.wowpedia.org/TOC_format
As a backup, add another test to your conditional:
if (not RecruitMailButton) and GuildInfoFrameTab3 then
Alternatively, test for GuildInfoFrameTab3 and if it's nil, call GuildFrame_LoadUI() yourself. This has the downside of loading a bunch of stuff that may never get used, if the player doesn't actually ever bring up the guild window.