Wind, sun and moisture are always working against me as far as tags go. Those cheap little aluminum tags were nice for awhile but the first wind storm usually finds a way of twisting them off pretty easily (good thing I'm in the habit of writing on the tree itself or having an extra label in the pots).
Those Elmer's paint markers have come to be my preferred tool for labeling my trees. I've marked on the bark of the trees on occasion but that usually doesn't last more than a year. As the trees grow the writing begins to stretch and becomes unreadable in a season or two. I've found that white markers stand out the best when writing on the tree itself.
My best answer so far has been using the red paint markers on recycled white plastic window blinds. I break them into whatever length I want and stick 'em in the pots or in the ground next to the tree. Those heavy wide blinds work the best for in-ground stuff. The red paint really shows up well on the white window blinds. It may not be necessary but it's nice when I can see the names of my trees from 10-15' away.
For larger in-ground trees, I'm considering using 2' lengths of PVC water line. Use a heat gun to flatten one end, write the name on the flattened section & poke it in the ground next to the tree. The flattening part may not be necessary but I figure it would give more flat surface to write on.
The paint seems to last indefinitely on most plastics and doesn't fade in the sun.
I'm pretty set with this method until I hear something I like better ;) .