To perform a cold backup, I query V$DATAFILE for all of the database datafiles, V$CONTROLFILE for all of the control files and V$LOGFILE for all of the online redo log files. I also back up the parameter files as well as the password file. Optionally, I create a binary backup of the control file as well as dump the contents of the control file to a trace file as you have indicated above.
The only files you missed in your question are the online redo log files.
This was first published in December 2005