You should always use LSA, for the reason given. Yes, you can trace back starting with reg 13, but the dump program only follows the HSA chain for 1 save area. Try running the following job. It illustrates the strengths and weknesses of the dump program's save area trace. For what it's worth, ABEND actually uses the SNAP macro to write its dumps; the miniature dumps in the SNAP output just shows the minimum useful data for the save areas.
//A EXEC PGM=ASMA90,PARM='OBJECT,NODECK,XREF(SHORT)'
//SYSPRINT DD SYSOUT=*
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
//SYSLIN DD DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,(1,1)),
// DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//SYSIN DD *
MINILINK CSECT DEFINE PROGRAM CSECT
SAVE (14,12),,* SAVE REGISTERS
CNOP 0,4
BAS 15,INITSAVE-MINILINK(,15) BR AROUND SAVE AREA AND ->
STORE NEW SAVE AREA ADDR ->
IN REG 15
USING *,13 ESTABLISH PROGRAM ADDRESSABILITY
DC 18F'0' NEW SAVE AREA
INITSAVE ST 13,4(,15) ADD NEW SAVE AREA TO THE
ST 15,8(,13) SAVE AREA CHAIN
LR 13,15 ESTABLISH NEW SAVE AREA POINTER
OPEN (SNAPDCB,OUTPUT) OPEN THE DCB
SNAP MF=(E,SNAPPARM) SNAP THE SAVE AREAS
BAS 14,SUB01 CALL A SUBROUTINE
SNAP MF=(E,SNAPPARM),ID=5 SNAP THE SAVE AREAS
CLOSE SNAPDCB CLOSE THE DCB
L 13,4(,13) LOAD ADDR OF THE HIGHER SAVE AREA
RETURN (14,12),T,RC=0 RESTORE REGS & RETURN
SNAPDCB DCB DSORG=PS,MACRF=W,DDNAME=SNAP,RECFM=VBA,LRECL=125, ->
BLKSIZE=1632
SNAPPARM SNAP MF=L,PDATA=(PSW,REGS,SA),DCB=SNAPDCB,ID=1 SNAP PARMS
DROP , KILL ADDRESSABILITY
CNOP 0,8
SUB01 BASR 15,0 STORE CURRENT ADDRESS IN REG 15
SUB01X EQU *
SAVE (14,12),,SUB01 SAVE THE REGISTERS
CNOP 0,4
BAS 15,SUB01Y-SUB01X(,15) BR AROUND THE NEW SAVE AREA
USING *,13 ESTABLISH ADDRESSABILITY
DC 18F'0'
SUB01Y ST 13,4(,15) ADD NEW SAVE AREA TO THE
ST 15,8(,13) SAVE AREA CHAIN
LR 13,15 ESTABLISH THE NEW SAVE AREA POINTER
L 2,=A(SNAPPARM) LOAD ADDR OF THE SNAP PARM LIST
SNAP MF=(E,(2)),ID=2 SNAP THE SAVE AREAS
BAS 14,SUB02 CALL THE NEXT SUBROUTINE
L 13,4(,13) LO
RETURN (14,12),T
DC 0D'0'
LTORG ,
CNOP 0,8
SUB02 BASR 15,0
SUB02X EQU *
SAVE (14,12),,SUB02
CNOP 0,4
BAS 15,SUB02Y-SUB02X(,15)
USING *,13
DC 18F'0'
SUB02Y ST 13,4(,15) ADD NEW SAVE AREA TO THE
ST 15,8(,13) SAVE AREA CHAIN
LR 13,15 ESTABLISH THE NEW SAVE AREA POINTER
L 2,=A(SNAPPARM)
SNAP MF=(E,(2)),ID=2
BAS 14,SUB03
L 13,4(,13)
RETURN (14,12),T
DC 0D'0'
LTORG ,
CNOP 0,8
SUB03 BASR 15,0
SUB03X EQU *
SAVE (14,12),,SUB03
CNOP 0,4
BAS 15,SUB03Y-SUB03X(,15)
USING *,13
DC 18F'0'
SUB03Y ST 13,4(,15) ADD NEW SAVE AREA TO THE
ST 15,8(,13) SAVE AREA CHAIN
LR 13,15 ESTABLISH THE NEW SAVE AREA POINTER
L 2,=A(SNAPPARM)
SNAP MF=(E,(2)),ID=3
BAS 14,SUB04
L 13,4(,13)
RETURN (14,12),T
DC 0D'0'
LTORG ,
CNOP 0,8
SUB04 BASR 15,0
SUB04X EQU *
SAVE (14,12),,SUB04
CNOP 0,4
BAS 15,SUB04Y-SUB04X(,15)
USING *,13
DC 18F'0'
SUB04Y ST 13,4(,15) ADD NEW SAVE AREA TO THE
ST 15,8(,13) SAVE AREA CHAIN
LR 13,15 ESTABLISH THE NEW SAVE AREA POINTER
L 2,=A(SNAPPARM)
SNAP MF=(E,(2)),ID=4
L 13,4(,13)
RETURN (14,12),T
DC 0D'0'
LTORG ,
END MINILINK
//B EXEC PGM=IEWL,COND=(0,NE),PARM=MAP
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,(1,1,1)),DSN=&&GO(GO)
//SYSLIN DD DISP=(OLD,DELETE),DSN=*.A.SYSLIN
//C EXEC PGM=*.B.SYSLMOD
//SNAP DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*