2. No, be gone is not grammatically correct. I believe it is used in some dialects, but in normal English be gone! is only used as the imperative, meaning "go away". ... when all the guests are gone ... works OK, but probably most native speakers would say ... when all the guests have gone ... Note that guests is plural and the verb must match. More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.