For #26218 - Fixed various initialisation issues.

Found and fixed a few edge cases that would throw 'PythonObject is not attached to a node' errors in Nuke, resulting in the app not being loaded and the script being left in an error'd state.
as noted above, should this return paths with a correct os.path.sep or always return slashes? If the latter, i think this should be pointed out in the doc string.