Hi,
The upper method, evaluates the processor architecture, not AutoCAD version. You can install an AutoCAD 32 bit (prior to 2008) on a 64 bit system (I have A2007 32bit and A2011 64 bit installed on Seven 64 bit).
I think a better way to know the AutoCAD version (32 or 64 bit) is to evaluate an ObjectId length :
(strlen (vl-princ-to-string (vlax-get-acad-object)))
returns 39 on a 32 bit Acad version and 47 on a 64 bit version.
EDIT: after some searches, it seems that the *32 suffixed properties and methods (ObjectId32, OwnerId32, ObjectIdToObject32, ...) have been added to the 64 bit versions of AutoCAD only to be used in VBA routines on 64 bit versions.
These properties and method shouldn't be needed for LISP which isn't platform dependent.
Anayway, according to the tests I did, these properties and methods seems to be only available on 64 bits AutoCAD version and (if so) may serve to evaluate the AutoCAD version :
(defun gc:IsAcad64 ()
(vlax-property-available-p
(vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
'ObjectId32
)
)
Returns T on a 64 bit version, nil on a 32 bit.