You have to compile the complete ROM with this patch applied:
http://review.cyanogenmod.org/#/c/90804/
Have only tried the speakerphone once and it worked for me. There is also no such issue reported on Moto X (which is nearly the same device, without hardware buttons. that 2 devices share most off the code base) ->
http://forum.xda-developers.com/moto-x/development/rom-cyanogenmod-13-moto-x-t3313427
After initial boot the speakerphone works but on subsequent reboot, it doesn't and stays that way forever. Or could it be possible that one of the other app is conflicting? I generally use mini package of OpenGApps and there's a long list of other apps (but not related to dialer or contacts of course except Google Hangouts, WhatsApp, SMS & CallLog Backup & SMS Backup+) but I know that it won't be possible for you to look at other apps. So, I'll do a fresh re-install and try out the speakerphone with and without OpenGApps and report back later.
I also tried the other dialer apps, the one that comes with C-Apps by Cyanogenmod and few others from the Play Store but the speakerphone issue existed in all, so I presume that problem is of generic nature.
@Leds: Instead of compiling ROM, can I use root to edit the relevant files and modify the code and reboot. Would that work?
PS: By the way, the LiveDisplay does not work as intended so Cyanogenmod should have taken this patch which I believe will not interfere with Maxx & Ultra...and will only enhance the ROM for mini.