I am wondering how to create an instance of a row of a table in a
typed dataset to use as a local variable.

I can't use the DataTable's method NewRow() because it seems that the
table has a new row buffer, to which it returnes a reference on every
call to NewRow()
Take a look at the following code:

Dataset1 ds = new Dataset1();
DataRow nr = ds.Tbl.NewRow();
ds.Tbl.Clear();

//DataRow nr2 = (new Dataset1()).Tbl.NewRow();
DataRow nr2 = ds.Tbl.NewRow();
nr2["ID"] = 1;
nr2["Name"] = "Name";
ds.Tbl.Rows.Add(nr2);

//data result
//nr["ID"] is "1"
//nr["Name"] is "Name"

nr2 = ds.Tbl.NewRow();
nr2["ID"] = 2;
nr2["Name"] = "Name2";
ds.Tbl.Rows.Add(nr2);

ds.Tbl.AcceptChanges();

nr["ID"] = ds.Tbl.Rows[1]["ID"];
nr["Name"] = ds.Tbl.Rows[1]["Name"];

//data result
//ds.Tbl.Rows[0]["ID"] is "2"
//ds.Tbl.Rows[0]["Name"] is "Name2"

You see from the data results that when a value is changed to a row
that is created with NewRow() the values in the other row that we
create with NewRow() are also changed.

A way to work this around is to call NewRow() method of a new
dataset's table, as commented out in the code:
//DataRow nr2 = (new Dataset1()).Tbl.NewRow();

Any other ideas?

Well, i just realised that I can use ds.Tbl.Clone().NewRow() instead
of (new Dataset1()).Tbl.NewRow() that lowers the overhead but the
problem still remains.

Any oppinions are appreciated.

P.S. I'm using the following dataset:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="Dataset1"
targetNamespace="http://tempuri.org/Dataset1.xsd"
elementFormDefault="qualified"
attributeFormDefault="qualified"
xmlns="http://tempuri.org/Dataset1.xsd"
xmlns:mstns="http://tempuri.org/Dataset1.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Dataset1" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Tbl">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:int" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:key name="PK_Tbl" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Tbl" />
<xs:field xpath="mstns:ID" />
</xs:key>
</xs:element>
</xs:schema>