There is oTab.HasChildren, but AFAIK, it does not consider security.
Dim cTabs As New DotNetNuke.Entities.Tabs.TabController
cTabs.GetTabsByParentId(PageId, PortalSettings.PortalId)
Will return an ArrayList of child pages
But this will return all pages / tabs included the ones user has no rights to or the ones that should not be visible.
So you will have to check the returned pages to see if the user is allowed to see them.
I use:
If oTab.IsDeleted = False AndAlso oTab.IsVisible AndAlso DotNetNuke.Security.PortalSecurity.IsInRoles(oTab.AuthorizedRoles) AndAlso oTab.DisableLink = False Then
If ((Null.IsNull(oTab.StartDate) OrElse oTab.StartDate < Now) AndAlso (Null.IsNull(oTab.EndDate) OrElse oTab.EndDate > Now)) Then
Return True
End If
End If