The result of an operation returns a booean True or False when directly queried which is indicating whether the action succeded without error, but this is an object that is not boolean and will have many properties/methods below it when queried with dir(). In this case, the important object beneath result is "Messages." It will show it is type Dictionary[IDesignBody, IList[CheckMessage]].
So get messages for the first body this way:
all_bodies = GetRootPart().GetAllBodies()
selection = BodySelection.Create(all_bodies)
result = ApplicationHelper.CheckGeometry(selection)
Body1Messages = result.Messages[GetRootPart().Bodies[0]]
if Body1Messages.Count == 0:
pass
#no errors
else:
for mess in Body1Messages:
print(mess.ModelerMessage)
# other objects under mess to get IDs of problem geometry