If there is any kind of adapter in the way, this generally kills EDID discovery. That is almost always the answer.
As per building a modeline, try:
cvt 1280 720 60
My sample output on this laptop is:
cvt 1280 720 60
# 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz
Modeline "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
So the modeline in xorg.conf would be:
Modeline "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
It is important to remember to remove all double spaces after the quotes. In that example there is one after the quote, before the 1280 and one before the 720.
On my core I have:
root@dcerouter:~# cvt 1280 720 60
# 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz
Modeline "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
The one generated by LMCE is:
Modeline "1280x720" 74.250 1280 1390 1430 1650 720 725 730 750 +hsync +vsync
You can see they are very close.
You can then set xrandr to use this mode if it is not working right ootb. BTW... if this is a CRT, a bad modeline can physically damage the monitor.
Cheers