Added a workaround for shortcomings in the OSA support: there can be class/property conflicts and passing classes as arguments doesn't work. The package now seems to work.
diff --git a/Mac/Lib/mkcwproject/cwtalker.py b/Mac/Lib/mkcwproject/cwtalker.py
index 3b2d3b4..650fd43 100644
--- a/Mac/Lib/mkcwproject/cwtalker.py
+++ b/Mac/Lib/mkcwproject/cwtalker.py
@@ -1,4 +1,14 @@
 import CodeWarrior
+import aetools
+import aetypes
+
+# There is both a class "project document" and a property "project document".
+# We want the class, but the property overrides it.
+#
+##class project_document(aetools.ComponentItem):
+##	"""project document - a project document """
+##	want = 'PRJD'
+project_document=aetypes.Type('PRJD')
 
 class MyCodeWarrior(CodeWarrior.CodeWarrior):
 	# Bug in the CW OSA dictionary
@@ -23,4 +33,4 @@
 			return _arguments['----']
 
 	def my_mkproject(self, prjfile, xmlfile):
-		self.make(new=CodeWarrior.project_document(), with_data=xmlfile, as=prjfile)
+		self.make(new=project_document, with_data=xmlfile, as=prjfile)