Bill... why not make a while loop to be sure?
This slight change would make sure pump is dead(I hope)

# Kill pump here so umounts are clean.
# Get pump's process id from ps for use in kill command.
pumpkill() {
ps | gawk '$4~/pump/{print $1 }' | ( read pumpPID #Closing parenthesis comes later
if [ -n "$pumpPID" ]
then
kill -15 $pumpPID 2>/dev/null # Send TERM signal
sleep 1 # Sleep for 1 second
kill -9 $pumpPID 2>/dev/null # Send KILL signal
sleep 1 # Sleep for 1 second
fi
) # Don't forget to put closing parenthesis here
} # and the closing brace

while [[ ! -z `ps -A | grep pump` ]] ; do
pumpkill
done

I think your way is better than the BLACKLIST hack... I haven't even used NFS yet.
But I have been enjoying seeing those clean image mounting since we started to resolve ourselves to fixing this bug.

cheers