Me and my friend usually help each other evolve our Pokemon. I traded a TM for an Onix because I had a Metal Coat and wanted to use it. I put the Metal Coat on my Onix and traded it to him. We didn't know that not letting it evolve got rid of the Metal Coat. Is this a glitch or is it supposed to happen?
Yes, that is supposed to happen. If you cancel an evolution that requires a held item, the item will disappear once you cancel it unfortunately.