Isso porque seu shell está interpretando \$
para significar um sinal de dólar literal (com escape). Experimente
sed -i "27i\$text$station" text.data
ou usando uma mistura de aspas simples e duplas
sed -i '27i\'"$text$station" text.data
ou com uma nova linha literal
sed -i "27i\
$text$station" text.data
(o que é mais POSIXly correto, eu acho).