write_short() is used to write a short integer, it doesn't know how you're going to use every single variable that it will be used with. After all, most tags are for convenience in Pawn (e.g. to find mistakes at compile time), they do not actually define a data type like in strictly typed languages.
So, no, de-tagging a variable is not bad practice when done for the proper purposes (like in this case). The act of de-tagging the variable is you the coder saying, yes, this is where I need to use this variable.