Alright, so it seems the error ended up to be the thing between the keyboard and the chair

I skimped out the procedure (or rather, not reading instructions and just did it through trial and error) and ended up just recompiling the component didn't recompile the whole IDE.
Reverted to taazz's original fixed code (I tried BigChimp's fix beforehand, but I forgot to report back), and AllowMultiLine seems to work properly in the IDE.
However, setting SdfDataSet.Active to true in IDE still popups "Unable to open file" for my existing application, however, it works perfectly when I try it in an new application.
So I tried adding an "Active = True" manually in the "object SdfDataSet1" portion of the project *.lfm, and it works. However, setting the "Active" property back to false in the IDE, and reopening Lazarus seems to have the problem again.
It seems Lazarus automatically deletes the "Active" property in the *.lfm file if it's false (because it's the default setting?), so I tried to add "Active = False" instead in the *.lfm file, and it seems to work normally. Lazarus also puts the "Active" property below the FieldDefs in the *.lfm file as well, if I set it to "True" in the IDE.
So I think Lazarus somehow freaks out now when the Active property isn't present in the *.lfm file? (or it could be an user issue again, but i'd hope not)