Supongo que se debe, a que en el CampoClave, hay espacios delante, o alguna otra cosa ¿¿¿???
Cambia la SELECT que te puse antes por esta:
SELECT Max(Val(Mid(lTrim(CampoClave), 2, 10)) + 1 AS MaxValor FROM TuTabla
Con esto debería funcionar, además, si el útimo grabado es el B50, debería devolver B52
Suerte