I don't think you can do what you want in Lisp. One problem with ObjectDBX is the way it handles attributes and text that are not left justified when you edit the contents. It will move them.
You can not print, AFAIK, without opening them with Lisp. I have tried and failed. I have heard that with VBA, you can set it to print in the background, but I think it still needs to open them.
You can purge with ObjectDBX, but I'm not sure about audit. It looks like you can audit, at least you can the current drawing, but I'm not sure about using with ObjectDBX. Correction you cannot audit or purge a drawing opened with ObjectDBX. You can write your purge style routine to delete blocks and layers, and stuff like that though. Here is a dump of a drawing opened with ObjectDBX.
; IAxDbDocument: IAxDbDocument Interface
; Property values:
; Application (RO) = Exception occurred
; Blocks (RO) = #<VLA-OBJECT IAcadBlocks 0291e764>
; Database (RO) = #<VLA-OBJECT IAcadDatabase 02907ce4>
; Dictionaries (RO) = #<VLA-OBJECT IAcadDictionaries 02918c54>
; DimStyles (RO) = #<VLA-OBJECT IAcadDimStyles 0291c3a4>
; ElevationModelSpace = 0.0
; ElevationPaperSpace = 0.0
; FileDependencies (RO) = #<VLA-OBJECT IAcadFileDependencies 02906224>
; Groups (RO) = #<VLA-OBJECT IAcadGroups 028d8074>
; Layers (RO) = #<VLA-OBJECT IAcadLayers2 028dadd4>
; Layouts (RO) = #<VLA-OBJECT IAcadLayouts 028d1534>
; Limits = (0.0 0.0 40.0 31.0)
; Linetypes (RO) = #<VLA-OBJECT IAcadLineTypes 028e8634>
; ModelSpace (RO) = #<VLA-OBJECT IAcadModelSpace3 028eb064>
; Name = "C:\\Willey-Temp\\test\\12-2697-1731-5_003.dwg"
; PaperSpace (RO) = #<VLA-OBJECT IAcadPaperSpace3 028ef864>
; PlotConfigurations (RO) = #<VLA-OBJECT IAcadPlotConfigurations 028ef384>
; Preferences (RO) = #<VLA-OBJECT IAcadDatabasePreferences 02905274>
; RegisteredApplications (RO) = #<VLA-OBJECT IAcadRegisteredApplications 028ff9e4>
; SummaryInfo (RO) = #<VLA-OBJECT IAcadSummaryInfo 029013f4>
; TextStyles (RO) = #<VLA-OBJECT IAcadTextStyles 028f8234>
; UserCoordinateSystems (RO) = #<VLA-OBJECT IAcadUCSs 028f8574>
; Viewports (RO) = #<VLA-OBJECT IAcadViewports 028fc4d4>
; Views (RO) = #<VLA-OBJECT IAcadViews 028df674>
; Methods supported:
; CopyObjects (3)
; DxfIn (2)
; DxfOut (3)
; HandleToObject (1)
; ObjectIdToObject (1)
; Open (2)
; Save ()
; SaveAs (2)
T
If you want to automate this, I think you need a more powerful language than Lisp or VBA, Lisp for sure.