Keeping textures unstretched even as a gameobject scale is changed

How do you keep textures unstretched while having the gameobject scale changing during runtime?

Generally you don’t without recalculating the UVs at runtime. Start looking here: http://unity3d.com/support/documentation/Manual/Generating%20Mesh%20Geometry%20Procedurally.html