But in Cobol we do not declare the first 4 bytes as some Record Descriptor.
Yes, and VSAM keys beginning in the first byte are defined as zero followed by length. Assembler too defines data at an address, the first byte is +0.
But Sort, like COBOL, deals with the first byte of data as position one, it just that sort allows a view or the length attributes of a variable length record, leaving it to you to account that extra four bytes.
V and VB are the same , LLBB (block length and two unused bytes) followed by llbb (record length and two unused bytes). Sort gives you the power to access the record length (also known as the RDW or Record Descripter Word).
COBOL protects you from that minor programming problem, as does browsing the file records under TSO.
As far as I know, the only difference between V and VB is that the LLBB for the V file is always the same as the llbb (pluse four bytes) . Be aware that in the case of a short last block on a VB file (only one record long) the LLBB will be the same as the llbb (pluse four bytes).
The A on VBA and FBA means that the first data byte is a printer cariage control character, as in 'skip to channal one' or 'double space'. Sort and COBOL both let you access this character.