Okay, well, many things to discuss.
First, I hope you are tagging [Media Type]=Video and [Media Sub Type]=TV Show, and not tagging TV shows as Movie / Media Sub Type TV Show... but I think that was just you typing in shorthand. Note that generally MC does guess whether a video file being imported is a TV Show or Movie, so tagging on import isn't usually required, but I think we discussed that before, and in your case it made sense because your directory naming convention provided the information, and you had some long episodes that were being marked as movies, or something like that. (I didn't look back through earlier posts to check that was you!)
Next, the Wiki clearly shows the example file name format as "Series_name.SxxEyy.Episode_name.File_extension", so for your first example, the file name should be "Heartland.S05E01.Finding Freedom.mkv", or similar. Using your format, without the Episode name in the filename, MC will put something it thinks is correct into the name field. In the case of your first example, it will set [Name]="Heartland S5E1", which is obviously wrong, but does help with future manual lookups. Sort of.
You see when you import a file into MC, the first step is that a function called CARNAC parses what information it can out of the file name only. It doesn't use the directory names at all. When CARNAC has done its job, tags are written to the file (if MC is set to do that) and MC Library.
Later steps are to get Cover Art and run the "Get Movie & TV Info..." function. However, these functions will not overwrite existing tags when run as part of Auto Import. So the [Name] tag set by CARNAC to "Heartland S5E1" for example, will not be overwritten by the correct Episode name "Finding Freedom", for example, by Auto Import options. It can be overwritten when manually running the "Get Movie & TV Info..." function, because tags are overwritten when the function is run manually, if the user selects the option to do so.
There is another issue with Heartland, which is obvious when you manually search for it on TheTVDB; there are multiple possible series that match that name. There are "Heartland", "Heartland (1994)", "Heartland (2007)", and "Heartland (2007) (CA)". If there are multiple Series results that can't be distinguished when MC runs the "Get Movie & TV Info..." function as part of Auto Import, it will not select any result and hence no update to metadata occurs. I picked "Heartland (2007) (CA)" in my example above because it is the only series record that includes a Season 5, but MC will not make that choice. If the Episode name was included in the file name, MC may have used that to find the correct record, if the Series name was unambiguous, however...
Generally, if the Season and Episode numbers are not known, MC will use the Series and Episode names to find the correct record on TheTVDB. However, there is another problem with the Heartland series. The actual Series name on TheTVDB is "Heartland (2007) (CA)", and MC doesn't always do too well when a Series name includes a year value, although that has been improved. If you had named that Episode "Heartland (2007) (CA).S05E01.Finding Freedom.mkv", MC would have found the correct record. Most people don't want the Year value and additional details in the Series name in MC, and therefore rename the Series to some common name, like "Heartland". That is fine once one accurate lookup has been done and the tag [TheTVDB Series ID] has been filled in. Future file imports with the Series name of "Heartland" will then use the [TheTVDB Series ID] tag to find the correct record.
Anyway, all in all, getting metadata isn't a straight forward process, particularly when the data available to MC is ambiguous. Go through the above and improve what you are doing so that MC will work as expected in future.