As far as not being able to scan the chain, if you are using the original cable, the issue may be the blaster itself or the board. As Woody said, try it with a short cable first.
About the ideal length, the short answer is: as short as possible. If you extend the length of the cable, you will run into reflection problems due to the lack of reference ground in the ribbon cable. As you make the cable longer and longer, you will start seeing bad overshoots and undershoots - it does not take a lot of cable to start hitting overshoots of more than 1V. I had that problem with a byteblaster and ended up opening it up and changing the series resistors on TDO, TCK, and TMS to help dampen the signal. After that change, I used a 20cm ribbon cable to achieve tolerable reflections.
You can experiment with different lengths if you have a scope. Measure the TDO, TCK, and TMS at the FPGA and see what kind of signal issues you get.
Finally, yes, JTAG will fail if you have serious signal issues.