I thought about this flaw in my wording yesterday but then thought it wasn't actually a flaw.

Well the difference in behavior is certainly inconsistent, if begin and end are not meant to return anything else than nothing or a '-', not only the help file should be made clearer, but the bug report is the other way around, $submenu should never allow begin and end to return a menu item, regardless if the popups menu is currently empty or not, only separator or nothing:
The begin and end values are sent to check if the item should be enclosed in separators, you cannot return a menu item from these values, only a separator '-' or $null for no separator.