Set the button NormalTexture rather than creating a separate icon texture.
This sets it to the standard bag icon.
Code:
btn:SetNormalTexture("Interface/Buttons/Button-Backpack-Up");
-- local icon = btn:CreateTexture(nil, "BACKGROUND");
-- icon:SetAllPoints(true);
-- icon:SetTexture("Interface\\AddOns\\TPPT\\images\\disenchant.blp");
-- icon:SetTexture("Interface/Buttons/Button-Backpack-Up");
-- btn.Texture = icon;
If you can't see the button I would look at the frame supplied as the parent to topfram, "profra" and see where that one has been anchored (and any others that might be further up the chain to the topmost frame which is presumably UIParent)