That still seems way too fast for trains, in town. I remember the trains absolutely flying through when I lived there...faster than just about any town of that size that I've seen in Iowa.
Of course, if you get hit by the train it isn't really going to make a difference, but I'm pretty sure they could stand to dial it back a bit before roaring through a town when you have tracks sitting right in the approach to stoplights where people will be slowing down...not stopping I hope, but slowing. Always seems like the trains in Des Moines are not going as fast.
That's because the tracks in Des Moines are not near as important, nor maintained to the same standard as the East/West mainline. Trains run 70 through Cedar Rapids and that town is hell of a lot bigger than Ames. 40 mph is plently slow enough through town, especially with the gates going down plently early for the on coming trains. But let's not forget, railroad tracks are private property, and anyone on them not at crossings are trespassing.
Honestly if the city of Ames really wanted to get serious about crossing safety, they'd petition the Federal Railroad Administration for a joint city improvement grant and they could essentially lower the railroad tracks down about 6 feet-10 feet or enough that they could build an overpass at South Duff and not have to have it ramp up a considerable slope from Lincoln Way and then again down a considerable slope to get to Main St. But that would be extremely expensive, in the millions just lowering the tracks that much, and the railroad might not even go along with it. They were in Ames long before Ames was a town after all.