I don't use Diamond on Linux, but I do use devices with FTDI chips and I know you need to unbind them from ftdi_sio to be able to access them with libusb, which the Linux FTDI drivers are based on.
The udev rule given in your link looks like the ones I use as well, so that should do?
Are you sure the problem is new with Diamond 3.11, and not that it comes from a recent change in the Linux kernel or something? If you are, maybe they changed something in the way they access FTDI parts in version 3.11, so that previous versions didn't actually show you that the udev rule you used was actually not working quite right.
I think I remember having to slightly modify those udev rules after some kernel update (can't remember which...). The following: basename $(dirname $(realpath /sys%p/device))
may not be correct anymore, something to check.
To check (maybe you already did): plug your device in, then check that the corresponding ttyUSB* devices are not there. If they are, well, the udev rule doesn't work anymore, and it's not a problem with Diamond. AFAIK, in somes cases, the devices may be names like ttyACM* instead of ttyUSB*? So check that as well. Also check the output of 'dmesg'.
Try issuing the unbind (... > /sys/bus/usb/drivers/ftdi_sio/unbind) manually with the correct device on the left.