FYR (for your reference), on a pristine 10g install on a pristine OS (Win2K Prof) install, all happily living & running inside vmWare, these are some note worthy settings and discrepancies I can see:
"Bad" (your non-starting) system: Path=N:\oracle\bin; C:\Program Files\Oracle\jre\1.3.1\bin; <<< from old home (9.2) C:\Program Files=\Oracle\jre\1.1.8\bin; <<< from old home (9.2) N:\oracle\bin; <<< duplicated N:\oracle\jre\1.4.2\bin\client; N:\oracle\jre\1=.4.2\bin; ...etc.
Suggestion: Get rid of all marked (<<<) items.
"Good" (properly working) system: Pristine system does NOT have ORACLE_HOME nor does it have LD_LIBRARY_PATH (when you type "set" in DOS "box")
"Bad" (your non-starting) system: Have both environment variables defined???
Suggestion: Get rid of the above (definitely unnecessary) environment variables (best would be to save contents of old PATH first, look for it in HKLM\CurrentControlSet\Control\Session Manager\Environment). Windows is not UNIX, your instance do NOT need ORACLE_HOME environment variable, but it does need proper stuff in registry key related to your Oracle home...
Biggest and messiest thing to sort out and most likely suspect for non starting instance relates to old-home-new-home registry key story. On pristine 10g system in HKLM\SOFTWARE\ORACLE there are just two variables ORACLE_HOME pointing to C:\oracle\product\10.1.0\Db_1 and inst_loc with C:\Program Files\Oracle\Inventory as its value. Your ORACLE key have number of orphaned values and keys all having to do with deceased 9.2 home.
More significant (I think) are differences inside Key_OraDb10g_home1: Looks like your 10g home lacks ORACLE_SID value (that should be orcl), also seems like value for NLS_LANG is missing too (AMERICAN_AMERICA. WE8MSWIN1252 on my reference system).
Interestingly, there are no registry entries for spfile (on my system), yet on start up instance service finds and uses ...\database\SPFILEORCL.ORA (based on analogy with 9.2, if you were to use pfile for instance start up you'd probably need to have ORA_ORCL_PFILE value pointing to your "real" pfile location)
I would suggest adding ORACLE_SID value (of REG_SZ type) with proper value (orcl in your case).
To summarize: - add ORACLE_SID value to your Key_OraDb10g_home1, (check if you have NLS_LANG value, add if needed) - get rid of ORACLE_HOME and LD_LIBRARY_PATH environment variables, - make sure to have SPFILEORCL.ORA where it counts (inside \database) - clean up PATH getting rid of 9.2's jre entries, - reboot and see what happens.
If you can not fix and/or figure this out quickly (say 15 min tops) may be re-install is not such a bad option? You should stop all Oracle services, delete Oracle *thoroughly* from registry (see Metalink note 124353.1 for all registry places to visit), delete Oracle files, reboot, verify that you do not have weirdo errors in System logs, then proceed with install and patching. You may even keep old database and after installing and patching Oracle Home if you run oradim.exe to create new service using the old database...