PicNic hat den gröbsten Fehler schon erwähnt. Du musst für Deinen Ergebnis-String ausreichend Speicherplatz reservieren.

Der zweite Fehler ist, dass Du den inPtr zu früh inkrementierst. So würdest Du das erste Zeichen verlieren.

So würde Dein Code funktionieren:
Code:
char strIn[] = "123.321";
char strOut[8] = "";

char *inPtr = (char *)&strIn;
char *outPtr = (char *)&strOut;

while(*inPtr != 46) *outPtr++ = *inPtr++;