A、由于弹力是变化的,m、M所受合力是变化的,所以不会做匀加速运动,故A错误;B、当弹簧弹力大小与F1、F2大小相等时,M和m受力平衡,加速度减为零,此时速度达到最大值,故各自的动能最大,B正确;C、由于F1、F2对系统做功之和不为零,故系统机械能不守恒,故C错误;D、由于F1、F2先对系统做正功,当两物块速度减为零后,弹簧的弹力大于F1、F2,之后,两物块再加速相向运动,F1、F2对系统做负功,系统机械能开始减少,知系统机械能先增大后减小.故D正确.故选BD.