I use both form and frame inheritance quite extensively with Lazarus.
Err, deepest I've gone is 4 levels (for my applications main form).
TForm -> TfrmPersistence -> TfrmMainBase -> TfrmDockingManager -> TfrmApplication
Using the File - New.. - Inherited Item - Inherited Project Item I've never had any problems. This is how you're supposed to do things. Get your ancestor form correct first, then create descendants using this process.
Yeah - design decisions change. You thought you didn't need inheritance at the start, but now you do. Whoops - I understand, been there a lot myself and have got quite used to hand/hacking the lfm/pas files.
I've encountered minor issues by hand/hacking existing forms to new ancestors. I've never managed to get this process to work by hand/hacking from inside Lazarus, but this doesn't surprise me, I never got it to work inside Delphi either.
Most of the steps below it looks to me like you've done already, but I'll go through what I do when hand/hacking.
You'll have to close Lazarus for this to work. But before you do, ensure both the Form and the Ancestor are in the Project (Project - Project Inspector). If they're not, this isn't going to work (well, not entirely true, I've got form inheritance working where the ancestor is in a package that's required by the project. However, for your first few runs, don't add the extra complication of a Package)
Next, close Lazarus entirely. Open the LFM you want to hand/hack in your editor of choice. Change the initial object to inherited as you found. Also do this for each and every existing control that also exists on the ancestor, but
only for these. Keep a list of these objects, you'll be needing them later.. (I'm thinking perhaps you global search/replaced Object for inherited, and have stuck inherited in front of components that don't exist on the ancestor form).
Open the forms .pas file. Change Class(Tform) to Class(TMyAncestor). Add the Ancestor unit to the forms .pas Interface Uses section (again, if you missed this step, this might also account for your error).
The final thing I do is to go through the list of controls in the class declaration of the now descended form. Delete all the controls in that list that you changed object to inherited when you edited the lfm.
And yeah, that's pretty much it - none of these steps differed from the hand/hacking that I used to in the days of D5/D7.
Open the results in Lazarus. Should be fine.
As you'll have developed both forms concurrently, there's a slew of settings that going to differ in the new descended form from the ancestor. To reset everything in your descended form back to ancestor defaults, open the form in the designer, right click and choose reset.
Let us know if any of your steps differed from the above, and we'll see if we can't narrow down the problem.
Also - if you could zip all the related file here (including lfm) that would help diagnose this one...
Saw for the first time that there is a template for inheriting forms. But it seems to be faulty, I can confirm your observations.
I'm also intrigued. By template - did you mean the File - New... - Inherited Item bit? I've never had problems with that....