Para ser um "não-período", a sequência [^.] é o que você deseja. Nos seus exemplos, você tem um \ na frente do [ , o que está errado.
Então, por exemplo:
foo("some text").arg("more text");
foo("some text");
% sed 's/foo("some text")[^.]/replaced text/' tstfile
foo("some text").arg("more text");
replaced text
Observe que isso também substituiu o caractere após o foo(..) . Se você quiser manter isso, então podemos lembrar:
% sed 's/foo("some text")\([^.]\)/replaced text/' tstfile
foo("some text").arg("more text");
replaced text;