Sigh: the Jaguar workaround for the prefs file broke saving it on OS9. Temporary workaround is to ignore the exception (it's only about file creator/type anyway).
diff --git a/Mac/Tools/IDE/MacPrefs.py b/Mac/Tools/IDE/MacPrefs.py
index 716c828..6c7c553 100644
--- a/Mac/Tools/IDE/MacPrefs.py
+++ b/Mac/Tools/IDE/MacPrefs.py
@@ -70,8 +70,11 @@
 			else:
 				prefdict[key] = value
 		marshal.dump(prefdict, open(self.__path, 'wb'))
-		fss = macfs.FSSpec(macfs.FSRef(self.__path))
-		fss.SetCreatorType(self.__creator, 'pref')
+		try:
+			fss = macfs.FSSpec(macfs.FSRef(self.__path))
+			fss.SetCreatorType(self.__creator, 'pref')
+		except:
+			pass
 	
 	def __getattr__(self, attr):
 		if attr == '__members__':