Dunno if you're still using your workaround now as this post seems to have been inactive for a while, but.....
I ran into this problem again recently after not using Tomcat for ages. I noticed from your first post that you are trying to run the "tomcat5 start" command from inside the init.d directory. If you back out to the root dir and run the command with the full path from there, it should work.
i.e. I get this when I run tomcat5 from inside /etc/rc.d/init.d
[root@build01 init.d]# tomcat5 start
Found JAVA_HOME: /usr/lib/java
Please complete your /etc/tomcat5/tomcat5.conf so we won't have to look for it next time
Using CATALINA_BASE: /usr
Using CATALINA_HOME: /usr
Using CATALINA_TMPDIR: /usr/temp
touch: cannot touch `/usr/logs/catalina.out': No such file or directory
/usr/bin/dtomcat5: line 325: /usr/logs/catalina.out: No such file or directory
/usr/bin/dtomcat5: line 334: /var/run/tomcat5.pid: No such file or directory
[root@build01 init.d]# cd /
[root@build01 /]# etc/rc.d/init.d/tomcat5 start
Starting tomcat5: [ OK ]
But, as above, changing to '/' and trying with the full path works fine (for me at least!). Worth a try I guess....