Well, I figured out my problem. I had the wrong value for SetPlay. Once I found that, everything worked fine. Here is the updated code:
Code:
@ DEVICE HS_OSC              ; Hi Speed Osc  
@ DEVICE WDT_ON              ; Enable Watch dog timer
@ DEVICE PWRT_ON             ; Disable MCLR pin 
@ DEVICE MCLR_OFF            ; Enable Power-up timer
@ DEVICE BOD_OFF             ; Enable Brown-out detect
@ DEVICE CPD_OFF             ; Code Protect Off
@ DEVICE PROTECT_OFF         ; EEPROM Protect Off
    
    include "ModeDefs.bas"
    DEFINE OSC 20
    
    ' I/O Definition
    ' ===============
    '
    TRISA = %00001100    ' PORTA Output on :
                         '         PORTA.0 : Record LED 
                         '         PORTA.1 : Play Led
                         '
                         ' PORTA Input on :
                         '         PORTA.2 : "ALT PLAY" Button
                         '         PORTA.3 : "PLAY" button    
                         '
    TRISB = %01111001    ' PORTB Output on : 
                         '         PORTB.1 : ISD4002 SS pin 
                         '         PORTB.2 : ISD4002 SCLK pin 
                         '         PORTB.7 : ISD4002 MOSI pin
                         '
                         ' PORTB Input on :
                         '         PORTB.0 : ISD4002 INT pin
                         '         PORTB.5 : ISD4002 MISO pin
                         '         PORTB.6 : ISD4002 RAC pin
                         '         PORTB.3 : "SETUP" button
                         '         PORTB.4 : "RECORD" button
                         
    OPTION_REG.7 = 0     ' enable pull-up on PORTB
    CMCON = 7            ' disable analog comparator
    
    ' Variable definition
    ' ===================
    '
    RecordLED       var PORTA.0
    PlayLED         var PORTA.1
    AltPlayBtn      var PORTA.2 ' "ALT PLAY" button
    PlayBtn         var PORTA.3 ' "PLAY" button
    StopBtn         var PORTB.3 ' "STOP" button
    RecordBtn       var PORTB.4 ' "RECORD" button
    INT             var PORTB.0 ' ISD4002 INT pin
    SS              var PORTB.1 ' ISD4002 SS pin
    SCLK            var PORTB.2 ' ISD4002 SCLK pin
    MOSI            var PORTB.7 ' ISD4002 MOSI pin
    MISO            var PORTB.5 ' ISD4002 MISO pin
    RAC             var PORTB.6 ' ISD4002 RAC pin

    ' ISD4002 Control Values:
    ' bits 0, 1 & 2 are actually bits 9, 10 & 11 of address
    '                           CCCCCAAA
    '                           43210119
    '                                10
    CmdPwrUp        con $20   '%00100000  Power up the device 
    CmdPlay         con $F0   '%11110000  Start playback
    CmdRec          con $B0   '%10110000  Start recording
    CmdStop         con $30   '%00110000  Stop current operation
    CmdStopPwrDn    con $10   '%00010000  Stop playback or record and power down
    CmdSetPlay      CON $E0   '%11100000  Set the playback address
    CmdSetRec       CON $A0   '%10100000  Set the record address
    
    ISDAddress      var word
 
'****************************************************************
    Pause 500
    high PlayLed
    HIgh RecordLED
    pause 500
    low PlayLed
    Low recordled

Start: 'scan buttons
    if Recordbtn = 1 then
        high recordLED
        pause 250
        gosub RecordAudio
        low RecordLED
    endif
    
    if PlayBtn = 1 then
        high PlayLED
        pause 250
        gosub PlayBack
        low PlayLED
    endif
    goto Start

'****************************************************************
RecordAudio: ' Record message
    LOW SS 'Select isd4002 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[CmdPwrUp\8]
    HIGH SS 'De-Select isd4002
    PAUSE 25
    
    LOW SS 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[CmdPwrUp\8]
    HIGH SS 
    PAUSE 50     

    'There are 600 memory blocks in the 4002.  Each block is 200 mS long.
    'start recording at address 16 (= $10, %00010000)
    ' this is 3.2 seconds in (200 mS/address)  16*0.200 = 3.2 
    ISDAddress.lowbyte = $10
    ISDAddress.Highbyte = CmdsetRec '(= $A0, %10100000)
    'ISDAddress = $A010, %10100000 00010000

    LOW SS 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[ISDAddress\16]
    HIGH SS 

Wait4Stop:
    if StopBtn = 0 then goto Wait4Stop
    gosub StopOp 'Issue Stop Operation cmd 
    return
    
'****************************************************************    
PlayBack: ' Play Audio 
    LOW SS
    SHIFTOUT MOSI,SCLK,LSBFIRST,[CmdPwrUp\8]
    HIGH SS 
    PAUSE 25
     
    'start playback from address 16 (=$10)
    ISDAddress.lowbyte = $10
    ISDAddress.Highbyte = CmdsetPlay '(=$E0)
    
    LOW SS 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[isdaddress\16] 'Start Playback
    HIGH SS 
    pause 25

Wait4Done:
    if int = 1 and StopBtn = 0 then goto wait4done    
    gosub StopPwrDn
    return 
       
'****************************************************************    
StopPwrDn: ' Reset ISDInt and power down cmd 
    LOW SS 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[CmdStopPwrDn\8]
    HIGH SS 
    pause 20
    return
     
'****************************************************************    
StopOp: ' Stop Operation 
    LOW SS 
    SHIFTOUT MOSI,SCLK,LSBFIRST,[CmdStop\8]
    HIGH SS
    pause 20
    return 

'****************************************************************
end