Si he entendido bien lo que te pasa es que teniendo dos instancias de la misma clase Tfrmhijo y cambiando una variable en una de ellas esta te cambia también en la otra...
Una de las explicaciones que se me ocurren es que esa variable este declarada en la misma unit en la que tienes declarada la clase tfrmhijo pero no dentro de la clase sino fuera. Si esa variable estuviera declarada dentro de tfrmhijo como protected o incluso como public no se me ocurre como podría pasar lo que estoy entendiendo que te pasa.
Por otra parte y ya mas como opinión veo que en la acción declaras una variable local a la que le asignas del form que creas, despues muestras el form y listo... ¿que pasa despues con esa variable frmhijo? si no me equivoco el resultado final una vez terminada la acción es el mismo que si hubieras hecho:
Código Delphi
[-]
procedure TfrmMenuPrincipal.accFaenasExecute(Sender: TObject);
begin
with TfrmFaenas.Create(Self) do
Show;
end;