I haven't really wrapped my head around the differences in the printing system in 10.6, but there are a lot...
No idea where to go with this...
Can you post the operative excerpt from the script?
Here's the core of the printing part here. The entire script is about 600 lines.
set lowResProof to (theDesktop & pdfName & ".pdf") as string
set highResProof to (theDesktop & pdfName & "-PRINT.pdf") as string
--THIS BLOCK ONLY FOR PS-PDF DISTILLING
textStatus's setStringValue_("Printing Postscript File")
set my progressBarValue to 25
set thePSFileString to (theDesktop & pdfName & ".ps")
tell application "Adobe InDesign CS5"
tell document 1
tell print preferences
set active printer preset to "Clipper Proof Print"
set printer to postscript file
tell print preferences
set print spreads to exportSpreads
set print file to thePSFileString
with timeout of 420 seconds
print without print dialog
if loggingState then tell me to log ("postscript file made= " & thePSFileString)
textStatus's setStringValue_("Distilling Low Res PDF")
set my progressBarValue to 50
my distillFile_outputPath_jobOptions_(thePSFileString, lowResProof, theClipperLowJOF)
textStatus's setStringValue_("Distilling High Res PDF")
set my progressBarValue to 75
my distillFile_outputPath_jobOptions_(thePSFileString, highResProof, theClipperPrintJOF)
--END OF POSTSCRIPT BLOCK
I don't have any good ideas.
I would try to figure out how to read the list of system printers and see where and how it is going awry.
At a glance, it looks like they are stored in /Library/Preferences/org.cups.printers.plist but maybe you're supposed to run "defaults read com.apple.print.PrinterProxy" or mess with CUPS on a deeper level.
Are your users administrators? Perhaps you should have your printers configured such that users can't mess with them even if they were trying.
I suppose I would probably try to see how the printer list is getting corrupted (are they being just plain removed, or is it more subtle?) and then check for that all throughout the script to see where it happens.
Sorry this is handwavy and ~useless.
I don't have this version of the OS so things could well have changed but this may be worth a try…
log (do shell script "lpstat -s")
Place in several places throughout your script and see if it changes some where along the line…
Thanks guys, decent suggestions. I feel like there may be an issue between my app and the problem, but it'll be really inscrutable, and perhaps not even related to anything I'd ever think would affect it.