A物体的机械能守恒时,只有重力和弹簧弹力做功,但不一定只重力和弹簧弹力作用,也可能受到其他力,但其他力做功的代数和一定为零,故A错误.B、物体只受重力时,合外力为重力,机械能守恒.故B正确.C、物体在竖直方向做匀速运动时,动能不变,重力势能变化,机械能不守恒,故C错误.D、自由落体运动只受重力,做匀加速直线运动,机械能守恒,故D错误.本题选错误的,故选:ACD.