I've had a higher gravity stout that's been SLOOOOOOWLY going down over the past few weeks. It fermented well for a week and a half and then basically stopped according to the airlock and that's why you don't trust the airlock. I checked the gravity and it was stuck for 3 days straight and then I followed the advice on here of gently swirling the fermenter, moving it to a bit warmer environment, and racking it to secondary. Basically, it has come down 0.002 in the past 2 weeks but it is still producing CO2 (I see it bubbling slowly in the carboy). I figure I'll give it another 2 weeks or so. If it drops another 0.002, I'll leave it again. If not, I'll probably bottle even though it is high unless someone on here has a suggestion not involving Beano...
If you're at 1.018 and the FG is projected at 1.012, you may be close to done. I'd take the gravity again in a few days and if it is the same, call it finished and either bottle or keg. I've found BeerSmith doesn't always take all unfermentables and circumstances into account (even though it is a very good program).