The float was carrying war veterans and their spouses.
More than a dozen people were taken to the hospital with injuries, a hospital spokeswoman said.
There was supposed to be a banquet last night and a hunting trip today, but organizers say all activities have been canceled.
Midland city spokesman Ryan Stout says 37-year-old Sgt. Maj. Gary Stouffer and 47-year-old Sgt. Maj. Lawrence Boivin were pronounced dead at the scene of the accident Thursday afternoon. Stout said 34-year-old Army Sgt. Joshua Michael and 43- year-old Army Sgt. Maj. William Lubbers were pronounced dead later at Midland Memorial Hospital.
Of the 16 injured in the crash, four are in stable condition and one is critical. Ten others were treated and released from the hospital.
Some managed to jump clear as the train bore down Thursday afternoon, blasting its horn. Horrified spectators at the parade to honor the war heroes could only watch as the carnage unfolded.
The railroad operator says the crossing gate and lights were working at the time of the crash and that the train did sound its horn.