Writing a Counter object to a CSV-file in Python 3
Simplicity

I think that, for an easy task like this, the first version is better as it is considerably simpler while accomplishing the same goal.

It can still be improved though:

Cleaner deletion of file extension

infile[:-4] is probably used to remove the extension from the file, but it is not obvious, I suggest infile.replace(".txt","")( 
where the extension may be different from txt but you get the idea).

Context managing

It is so easy to forget to close a file, it is better to use with that will close it automatically every time:

with open(outfile, encoding='utf-8-sig', mode='w') as fp:
fp.write('KMC|freq\n')  
for tag, count in cnt.items():  
    fp.write('{}|{}\n'.format(tag, count))  


Naming

cnt is a mysterious name, I have no idea what kind of data it may contain, I suggest coming up with a better name.