XE and 9I do step on each others toes. I am developing a swing app that uses 10G XE and also have some 9i client applications to support. so far I have not had them run on the same machine, although I haven't spent much time on it . In the past I was able to run Oracle Lite and 9i client to run on the same machine by changing TNSNames .
another thing to beware of is that Oracle uninstall does not clean up the registry after itself. you need to do that.