Getkwords must match initget try:
(getkword "\nSelect text to change: All or Select? ")
A, S, All, Select, all & select would all be valid responses as well as picking with the mouse.
More detail needed. Are you talking a 3d surface ? Then CSD could do it for you, just need to paste multi surfaces together to get a final surface. Stream + Weir + Waterfall + Base.
From what i remember about AutoCAD your standard style text height is set to 0.0938 and is overwriting anything you change it to. if you change that value to 0 it defualts to user defined heights. this is why it works when you change it to another style it has a value of 0 probably. BriscsCAD it will default to the style text height when creating any text but allows you to change it to what ever you want.
--Edit--
same applys to dimsyle