Hmm. Do you change state on the drawing and models separately? If you do them together then doesn't your script cancel the change state action on every selected file (if it finds one wrong), so no files are transitioned in that attempt?
It looks like you are looking for a "-" in certain fields. You can put the dash into .slddrw data cards by default, I assume the same way you do with models.
If you are not populating drawing data cards currently then you can start. If your custom properties are all model based - you can pass those to the drawing, and from there to the drawing card. The drawing card will be updated every time the file is saved in SolidWorks. This prevents having to enter the info twice. If you don't want to show these variables on the drawing or on the drawing data card then you don't have to, but they could still be there.
Thanks, I used your technic of passing the values from .sldprt to .slddrw to .slddrw data card.