David Willerman (Charles Bailey-Gates) the computer specialist is the killer.
The opening scene depicted his childhood not Sanderson's (In fact he was the one who got stabbed with a fountain pen).
Kathy Sheppard (Diane Lane) discovers David must be an out-patient and all the murders were recreations of his mother's death, who he feels partially to blame for.
His final victim must be Erica Sanderson, Peter's daughter...so that Peter (Christopher Lambert) could feel the pain and suffering David does for not helping his mother. During which his mania leads him to murder red herring Det. Andy Wagner (Daniel Baldwin) and then Capt. Frank Sedman (Tom Skerritt) with a series of sharp razor slashes to their throats.
In a somewhat moving final scene; A tearful Kathy blocks his path letting him know she feels sorry for him as his loss has driven him mad with grief, with her words hitting a nerve, since David briefly weeps over his misery but makes it clear he can't stop himself so (in the final moments) is shot dead by Peter with Sedman's Magnum style Smith&Wesson.
Thanks N.D. Woods!