I must have been remembering wrong. I did not see any other regular Inventor API or iLogic API method for hiding or unhiding multiple bodies at the same time, without using suppression. But, I did some searching within my custom iLogic snippets and found something that could likely be used. They are essentially just the 'commands' (ControlDefinitions) for the user interface tools involved, which we can 'execute' to simulate the user clicking on them. Due to their very nature, using them will only effect the currently 'active' document (the one visible on your screen at the moment they are executed).
This is the command for showing all bodies:
ThisApplication.CommandManager.ControlDefinitions.Item("ShowAllBodiesCtxCmd").Execute()
...and here is the one for hiding all other bodies, except the one(s) selected:
ThisApplication.CommandManager.ControlDefinitions.Item("HideOtherBodiesCtxCmd").Execute()
...and here is an example iLogic rule for 'toggling' the visibility status of a group of bodies at once, which also uses yet another 'command execution', instead of a true API method.
Dim oApp As Inventor.Application = ThisApplication
Dim oPDoc As PartDocument = oApp.ActiveDocument
Dim oSBColl As ObjectCollection = oApp.TransientObjects.CreateObjectCollection()
For Each oSB As SurfaceBody In oPDoc.ComponentDefinition.SurfaceBodies
oSBColl.Add(oSB)
Next
oPDoc.SelectSet.Clear()
oPDoc.SelectSet.SelectMultiple(oSBColl)
oApp.CommandManager.ControlDefinitions.Item("PartVisibilityCtxCmd").Execute()
Wesley Crihfield

(Not an Autodesk Employee)