I went over my schematic again - checking my assumptions.
1) Turns out that I was confused about the JTAG connection between the programmer and board/device.
I know you can chain multiple JTAG devices on a board (TDO=>TDI) so "naturally" I thought that is how you hook up the programmer too.
It turns out that all the JTAG programmer signals go to their corresponding board counter-parts.
"Everybody" (YT vids, blog posts etc) is really vague about how to actually hook it up.
2) I never realized there was a datasheet for the programmer. I found it yesterday and read about the PGND pin.
I had 'assumed' it was some sort of programmer-GND but its not. Its a Pseudo-GND.
I don't fully understand its function or use but it looked like it is controlled by the programmer.
And I had it connected to GND on my JTAG board header...
After disconnecting the PGND from GND stuff started working (I had to find the overwrite write-protect option):
Boundary-scan, identification, erase, read-back, verify... not

When I program it, the program step succeeds but the verify step fails.
I don't know why. I can see it switches to what looks like SPI-mode..

After programming I read-back the .jed file and did a quick comparison and could not find any obvious differences.
So for now I will call this good. At least I can now continue to program something simple in the CPLD I can use to test the board with further.
Special thanks to @nctnico for his assistance.