I have been trying to find a solution to this problem but so far nothing worked.
private void Insert()
{
string ConnectionStringAccess = Provider=Mic
You are using the same command object for both the insert and retrieval of @@identity.
According to this article you should create a separate command object for retrieving the @@identity value:
http://support.microsoft.com/kb/815629
Also, just to verify, the table you are inserting to does have an auto increment column, is that correct? If not, @@identity would not return anything.