Ok, thank you for your patience, i finally got the point.
You misunderstood %files%.
It was created when there was no macro available, it was needed as an IF to go to [files] or [no files].
When you suggest to use this code
'%files%', diffTpl['files'],
you are removing the logic (the IF), thus removing any sense for its existence, breaking compatibility and making old templates not working.
When you suggest
'%files%', if_(list='', or_(diffTpl['nofiles'],'<div class="big">{.!No files.}</div>'), diffTpl['files']),
you are just adding a sort of default [no files] in case this section wouldn't exist.
But that html code is not general, it will work well if you are using the ver2.2 default template or a derived work, but in such case you will have [no files] as well.