I think an extract porter at 1.018 sounds fine. I'm thinking that the cream ale was probably just about done then, too. When I did extracts, sometimes I couldn't get them below about 1.018.
Your hydrometer might be off, but the only way to know is to check it in distilled water.
Broken Leg Brewery
Giving beer a leg to stand on since 2006