Well, there's your problem. DIS tells the kernel to immediately switch the card in use, so the display is still pointing at the other one. Instead of DIS, use DDIS (Delayed DIScrete), which will wait...