Ok, thanks for that "object" suggestion. In fact I was getting and object back with the 'right' answer. Changed my code as below and things seem to be working...
cmd_id.CommandText = "select last_insert_rowid() as id from lyrics";
System.Object temp = cmd_id.ExecuteScalar();
_id = int.Parse (temp.ToString());
Is there a 'neater','cleaner' way to do that conversion?