The reason RedHat does not kick off your K* rc shutdown scripts is because RedHat checks for a lock file for your script in /var/lock/subsys/<scriptname>
To fix this, simply add a line to your 'start' section, something like this:
This will create that 0 byte file that rc is looking for when it executes shutdown.
Here is the actual snippet of the code from /etc/rc.d/rc that does this:
# First, run the KILL scripts.
for i in /etc/rc$runlevel.d/K* ; do
check_runlevel "$i" || continue
# Check if the subsystem is already up.
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
# Bring the subsystem down.
if egrep -q "(killproc |action )" $i ; then
action $"Stopping $subsys: " $i stop