JAE,
Cracking in concrete is not the smoking gun of poor design methods. The stuff just cracks sometime. Assuming the design was not flawed, I can think of several reasons why you would see cracks on top but not at the bottom: moments are higher at columns than at midspan so cracking would naturally occur here first or possibly poor curing methods. rapt is correct that without firsthand knowledge, this is basically impossible to diagnose.
While on the surface, equivalent frame may seem overly conservative since you think you are taking all load in both directions, think about this:
The EFM reduces joint stiffness at the column-slab connection since all slab is not connected directly to the column. However,it does not reduce vertical stiffness across the entire slab width-i.e. your strip does not cantilever off of the column perpendicular to the stip direction. EFM assumes you have a vertical support across the entire strip width (0.5middle+column+0.5middle) that is stiff flexurally at the centerline like a beam-column connection and is increasingly less stiff flexurally (more like a beam on knife support connection) as you move away from the stip centerline.
Now, how does the slab that is not directly connected to the column or even within the 1.5h+c2+1.5h width around the column get its beam support reaction from the EFM back to the column? You need a girder in the perpendicular direction and that "girder" is your EFM run in the perpendicular direction. THIS IS YOUR COMPLETE LOAD PATH. If you take all the load in one direction with EFM, and then don't correspondingly design for a very large percentage of that same load in the perpendicular direction, you haven't completed a load path because the EFM assumption of a vertical support across the strip width will not therefore hold.
Is it conservative to assume all load needs to be resisted in both directions with EFM? Absolutely. Could you take 1/2 the load in each direction on a slab with column supports? Not unless you wanted it to collapse almost instantaneously. Maybe in reality you need to take 100% of load in one direction and 80-90% of total load in the other direction (say 1-(1.5h+c2+1.5h)/total strip width)), but if you remove this simplification, you have better take a look at what other things you may need to increase. Aagin, this goes back to my previous post. Codes have simplified the true response so that things can actually be analyzed and built with some reasonable distribution of bars, slab thickness, etc. in a time frame that allows for relatively fast construction. The EFM as a whole has produced buildable, reliable slabs. If you begin to tinker with some of its simplifications, you may need to look a the whole method.
As for finite anaylsis, this is just an improvement over the EFM so yes, you will get less bars becasue this analysis is closer to the true response of the slab to loading-hence it is more efficient. The fact remains however, that no one is gong to place bars in such a manner that the spacing and bar size is changing throughout the entire slab to closely resemble the output from the finite element analysis. Which is why the EFM is so powerful since it has simplified an otherwise complex behavior and reinforcement pattern into a series of bars and spacing within the column strip and a series of bars and spacing within the middle strip or in the case of PT, only one big column strip with no middle strip.
I am not arguing that the EFM is the end-all-be-all to concrete slab design-it certainly has its limitations. Finite element is probably better but I am not sure how much better. For instance, my car now has GPS navigation, but amazingly, I was able to get to where I wanted to go a very large % of the time prior to obtaining this feature! I am not suggesting that finite element doesn't have its place, but to me this is like driving a ferrari to pick up milk when an accord would have done the job just fine.