...dealing with a ProxyEntity your only going to get ProxyEntity properties.
Weeellll. Sorta. The information is there regardless. In any of the situations, API - no API, Enabler - no Enabler, will only change how you go about getting the info. Its (data) is going to be in either a dictionary/extension dictionary/xrecord/xdata/or the unamed properties of the classid.
If API - will change everything, and as such you can use their object classes to get at the info by object properties/methods.
If no API - you must reverse engineer how the data was stored. Difficult, doable, but probably not worth it. Not knowing the method they store, they could be using a UID on the object/group/block/proxy with a dict in the namedobjectdict as a database.
Prosteel, close sister to AutoPlant (I think) - they can either be database linked or the file can have all the data, or you can use as hybrid with both data in file and db. The db is more than one table with relationships, so it could be assumed that the data, if stored in the file, will be just as complex (aka difficult). If full db mode, then no info will be found on the object itself, as that is being stored only in the drawing session.
I would check the xdata on the proxyentities to see if there's evidence of those 'attributes' (really should be called properties). Pause the code at the ed.writemessage and hover the proxy var to explore xdata and extension dictionary or classid->non-public memebers. It may have releative information you are looking for.
Post a file with a piece of steel in it. It may wind up being pretty straight forward.
EDIT:
Saw
this, but haven't been approved for membership yet to see what's being done in lisp.