For the first problem:
If the [column] property in your DBML file is set as IsDbGenerated = true then we are specifying that the column is an identity column in the table, it means that when ever you are performing insert operation your DataContext has to fetch the current ID for the record to be saved. And to perform this operation we have to set the AutoSync property as "AutoSync=AutoSync.OnInsert".
For the Second problem:
When you have changed the primary key from one property to another property have the properties like mentioned below are removed. If not removed please remove them.
DbType="UniqueIdentifier NOT NULL",
IsPrimaryKey=true
And check whether ID column is defined as mentioned below as it is auto generated
[Column(Storage="columnName",
AutoSync=AutoSync.OnInsert,
DbType="UniqueIdentifier NOT NULL",
IsPrimaryKey=true, IsDbGenerated=true)]
Hope this helps. If you still have concern, please mention I'll try to resolve them.