я решил проблему с IDENTITY так:
— добавил в таблицу поле типа uniqueidentifier
— при Insert вставляешь GUID, сгенерированную в твоей проге
— делаешь выборку по этому идентификатору и берешь ID
может быть, слишком много "движений", зато работает без проблем.