Hi all. I have had this issue randomly over the past few weeks since I setup Plex (yeah I am late to the game!) so decided to work out what is wrong.
Turns out the issue was simple to fix and has worked on every movie and TV show I had the issue with.
It seems PMS doesn’t like srt files that have a 1 as the first character in the file. Seems it HAS to be a 0.
I found just duplicating the first entry but ensure it is 0 and not 1 fixes it every time.
E.g.
I have an srt file that starts with
1
00:00:09,595 --> 00:00:12,347
When you look
down on the Earth's surface,
that fails to load.
Simply changing it to (duplicating and changing 1 to 0)
0
00:00:09,595 --> 00:00:12,347
When you look
down on the Earth's surface,
1
00:00:09,595 --> 00:00:12,347
When you look
down on the Earth's surface,
Do a rescan and PMS finds the subtitle and all works fine!
Strictly speaking the time stamps and text doesn’t have to be the same but I found automating the process easier this way.
Anyway thought I would share my little fix.
Also for anyone wondering if you just put 0 on its own it will start playback then crash. At least it does on my LG TV 
If you try out this fix and it works for you please let me know!
I should clarify that for some reason PMS does detect and work with some srt files that start with 1 for me. I don’t know why adding/changing a 0 works but so far it has been great. I wonder if it has something to do with how the file is encoded (UTF with BOM vs Windows, etc). I would look into it more but as I seem to have found a working solution for my needs I didn’t want to spend more time on it. Perhaps something for the Plex devs to look at?
Cheers