It worked when I moved the code to the OnPrepareCanvas event.
procedure TfrmDataView.StringGrid1PrepareCanvas(sender: TObject;
aCol, aRow: Integer; aState: TGridDrawState);
var
aTextStyle: TTextStyle;
begin
aTextStyle := TStringGrid(Sender).Canvas.TextStyle;
aTextStyle.SingleLine := False;
aTextStyle.Wordbreak := True;
if aRow = 0 then TStringGrid(Sender).Canvas.TextStyle := aTextStyle;
end;