the warnings are the outcome of what you did....
mesh1 := TModel.Create(nil);
is not correct and it should be
mesh1 := TMsaModel.Create(nil);

where mesh1 is of type TModel....by constructing TModel and typecasting it to TMsaModel and then using it could result in some very nasty AVs (in case TMsaModel has some new fields and you invoke a method which uses them)
now because mesh1 actually contains a reference to TMsaModel, not to just TModel which hasn't got LoadFromFile implemented, you can safely use
mesh1.LoadFromFile('mymodel.txt');

the first warning makes me assume that TMsaModel.LoadFromFile is not tagged as an override, instead it's declared as a normal method and "hides" the inherited virtual abstract method from TModel....

Edit:
looked at the source - I'll give you an advice, use try..finally blocks when constructing local objects like string lists, lists, streams, etc. or when an exception happens, you leak memory...