NL 12.6.0 and onwards have a feature where only your own replays will update your completion stats (so if you watch someone else's replay, it won't interfere). However, it can't correctly identify replays as yours if they predate this feature, or if you don't have a username entered.
Thus, most likely causes:
1. You've entered your username as "Anonymous" or left it blank. If there's no name to match replays to, NL always assumes replays aren't yours.
2. You're using replay files which aren't marked as "yours". This is almost certainly the case when dealing with replays created in V12.4.1 or earlier, which have no username saved in them.
In the first case, enter a name under the config menu. If you don't feel comfortable entering an actual username (the only thing NL uses it for is saving in replay files, and matching against when loading replays), just enter some garbage like "abc123" here.
In the second case, you can either start NL with the "-match-blank-replay-username" command line parameter, which will
for that session only treat no-username replays as if they were yours; or you can use the Replay Owner tool,
found in the 2nd post in the V12.6.0 release topic, to quickly modify lots of replay files to include your username.
EDIT: Although you can use the Replay Owner tool, the newer Replay Refresher tool covers username-adding as well as general "keeping up to date format-wise":
https://www.lemmingsforums.net/index.php?topic=4378.0