This may not be a complete answer, but there's too much info for a comment.
Your source SR, 3174
, is incorrect. The WKT of that SR is significantly different from the .PRJ file you posted:
PROJCS["NAD83 / Great Lakes Albers",
GEOGCS["NAD83",
DATUM["North_American_Datum_1983",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
AUTHORITY["EPSG","6269"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4269"]],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
PROJECTION["Albers_Conic_Equal_Area"],
PARAMETER["standard_parallel_1",42.122774],
PARAMETER["standard_parallel_2",49.01518],
PARAMETER["latitude_of_center",45.568977],
PARAMETER["longitude_of_center",-84.455955],
PARAMETER["false_easting",1000000],
PARAMETER["false_northing",1000000],
AUTHORITY["EPSG","3174"],
AXIS["X",EAST],
AXIS["Y",NORTH]]
...where the worst problem is that your .PRJ file has UNIT["Foot_US",0.3048006096012192]
, while 3174 has UNIT["metre",1]
! This is probably why things are appearing in the Sahara. :)
I think your best bet is to use this constructor of the SpatialReference class, and feed it the WKT you posted from the PRJ file.