To disable a service means do not start it automatically on startup. It does not mean to disable its functionality. You always can start and stop it and it can be started by other services. That seems to be the case here. You can show dependencies with:
rpi ~$ systemctl list-dependencies xrdp
To disable a service completely you have to mask it:
rpi ~$ ...
"No protocol specified" is the error you get when you start the X server as user 1 (in your case: "pi") and then try to access it as another user (in your case: "root"). Problem is, I see no dependencies on the X server in your code (you're using the framebuffer), but I don't know pigame and the other libraries well enough to ...
Sigh. Turns out the problem was that my hosts file contained two entries for the Pi:
When accessing the Pi by name, Remote Desktop defaulted to using the first entry, which of course failed, since it referred to the Windows machine's loopback address.
Removing the first entry from /etc/hosts solved the ...
This is actually unrelated to the new hardware.
Turns out that Stretch comes with RealVNC server installed. Stretch will run on either 3B or 3B+ systems. To use VNC, enable it in raspi-config and use a RealVNC client for access.
But this conflicts with xrdp
To fix the problem and make it work, simply remove RealVNC server.
sudo apt-get update