I haven't seen this problem myself, but we could start trying to figure it out. Are you familiar with the command line and editing configuration files? Things will be a lot easier if you have at least a little experience in that.
There should be a section like this in your /etc/inittab file:
# Run xdm in runlevel 5
# xdm is now a separate service
This means that init will restart the script file /etc/X11/prefdm whenever it exits. Do you have a section like that in inittab?
By the way, one of my machines is running RedHat 8, so your scripts should look pretty much like mine.