First thing that I suspect is your command syntax, where you say:
awk -F\t
You need a blank space between the -F and the \t, like this:
awk -F \t
You might also have a problem with "special" unix characters not being properly "escaped" so that they are treated as routine text characters rather than having some special unix meaning. The next thing that I would suspect is the $ signs and the !'s, for example, in "item1.X-ABLabel:_$!<Other>!$_. The $ is usually used to denote a variable name, like $1.
So I don't know for certain whether this will work, but try "escaping" those characters, that are not "field" variables ($1, $2, $3, etc.) by putting a backslash \ in front of each and every $ and !
Also, quite by chance I just noticed this:
print “item1.TEL: “$16; item1.X-ABLabel: “_$!<Other>!$_
As a minimum, I think you need to fix that piece to read:
print “item1.TEL: “$16; print "item1.X-ABLabel: “ "_$!<Other>!$_ "
but even that is not right -- I'm thinking you at least need a new print after each semicolon separator in there, but that won't fix it because it's not immediately clear to me how to make sure all the quotes are surrounding all the literal text that they are supposed to. You may have to start building your awk command up individual print directive by individual print directive to see where your syntax finally fails.