Looks like you forgot to call Keyboard.begin();
EDIT: Oops... My mistake. You call it FOR EACH CARD READ.
WARNING: C++ is not like Python. It doesn't care about indentation. Your code means:
Keyboard.begin();
if (cardid == 1839898475)
{
Keyboard.press("A");
}
delay(100);
Keyboard.release("A");
delay(2000);
Keyboard.end();
That's going to call Keyboard.begin();, Keyboard.release("A"); and Keyboard.end(); for each card read, regardless of ID.