Been a long week so I may be overlooking something, but this is the way my brain's working today:
(defun _GetObjectID ( object )
(if vla-get-objectid32
(defun _GetObjectID ( object ) (vla-get-objectid32 object))
(defun _GetObjectID ( object ) (vla-get-objectid object))
)
(_GetObjectID object)
)
tl;dr: Test once, and only as much as is req'd.