1.012 is pretty decently fermented out for most lagers, though if mashed low enough, some of mine are in the 1.008-1.010 range. There's only so much the yeast can do with the wort given them, right?
It sounds like you did what you could and it likely will be a wonderful lager beer.
Thanks, yeah, 1.012 isn't totally out of style for a helles, and I understand they often intentionally stop slightly short of full attenuation for the style (like, maybe half a point).
I have been continuing my research into the traditional cold lager fermentation schedule, and I am confident to give it another try.
Here is a chart showing lager schedules. left to right is duration days, vertical scale is temperature in degrees Celsius (sorry, from Australia). The black line is what I did, before I raised the temp to fix the attenuation issue. Red and green lines are fermentation schedules I found from various sources. The green is actually the schedule used by a German brewpub on their Pils. It is easy to see I cooled far too quickly when approaching near freezing.
The beer is cleaning up very well, and I am almost ready to start lowering the temp again!