Como você está usando initscripts, o caminho certo para adiar kdm até que seu script personalizado tenha terminado é declarar uma dependência de kdm em seu script personalizado, no cabeçalho do LSB:
# Required-Start: ... yourscript
no kdm initscript e
# Provides: yourscript
no seu script personalizado.
Para evitar que as alterações no kdm initscript sejam perdidas nas atualizações, você pode copiar seu cabeçalho LSB para um arquivo insserv override em /etc/insserv/overrides (com o mesmo nome) e editá-lo.