Well, it wasn't behaving right for me either - so don't be hard on yourself. When an attribute is named to match a GIS field, the connection should happen automatically. For your data, it wasn't, which was odd - maybe it was the size of the data? Anyway, there is a way to map those attributes manually - see the help file for Connection Editor. Once they were mapped the code below worked perfectly.
const unitScale = case Unit=="Feet": 0.3048006096012192 else: 1
@Range("Feet", "Meters")
attr Unit = "Feet"
@Range (0.5,200)
attr STORIES = 0 #Should be a GIS Driven Attribute but I had to "Connect" it manually
@Range (0,10000)
attr MEDIAN_HGT = 0 #Should be a GIS Driven Attribute but I had to "Connect" it manually
@Hidden
attr MEDIAN_HGT_feet = MEDIAN_HGT * unitScale
@StartRule
Footprints--> extrude(MEDIAN_HGT_feet)
split(y) {MEDIAN_HGT_feet/STORIES:Floor}* #comment this out if you don't want floors/horizontal splits
I also saw something that was odd and - see above - the building has 20 stories, but the Median Height of the building is only 124 feet. So just a point of caution. Another note, the building in the foreground is 4.5 stories, in case you were wondering what was going on with the short top floor.
Hope this helps.
Devin