I think I am following this correctly...
File B50 is the actual alarm table. It gets OR'd with the UNACK'd alarm File B53 to create alarm file B54. So B54 could be called the current OR unacknowledged alarm table since it will contain a "1" for each alarm that exists or did exist and was never acknowledged.
File B52 is the NEW alarm table. It will only have a "1" in a spot when an alarm first occurs. It's sole purpose might just be to seal in the NEW ALARM bit on rung 11. It is created by AND'ing file B50 with file B51. B51 is the inverse of B50. So, file B52 will only show a 1 when there is an actual alarm, one that wasn't there during the previous scan. Since the bit that triggers rung 11 to seal in will only be true for one scan, then you will probably never see it by looking at that particular file.
To find out what is causing the alarm in the first place, look in file B50, and backtrack search the individual bits.
The indirect addressing used in this program is set up so that every other PLC scan, the pointer N14:201 is incremented, going from 0 to 4 and then back to zero again, so you're only concerned with words 0-4 of your alarm files.