Does changing this costs to call "fprop" screw up the Autoencoder classes?

I'd say you should start a pylearn2.costs.mlp module to contain the MLP-specific classes, similar to pylearn2.costs.dbm.