& é especial no texto de substituição: significa “a parte inteira da entrada que foi correspondida pelo padrão”, então o que você está fazendo aqui substitui user=&uidX por user=user=&uidXsysuserid. . Para inserir um e comercial real no texto de substituição, use \& .
Outra coisa que parece errada é que . no padrão de pesquisa representa qualquer caractere (exceto uma nova linha), mas o . no final do texto de substituição é um ponto literal. Se você quiser substituir somente a string literal user=&uid. , proteja o . com uma barra invertida.
sed -e 's/user=&uid\./user=\&sysuserid./g'
Se você quiser substituir qualquer caractere e preservá-lo no resultado, coloque o caractere em um grupo e use na substituição para se referir a esse grupo.
sed -e 's/user=&uid\(.\)/user=\&sysuserid/g'
Na verdade, dada a repetição entre o texto original e a substituição, você deve usar grupos de qualquer maneira:
sed -e 's/\(user=&\)u\(id\.\)/sysuser/g'
i.e. "Substitua u por sysuser entre user=& e id. ".