You cannot have a compliant cue sheets with gaps appended to the previous track. In order to make them compliant the 00 indices must be discarded.
If you want to make a single file image cue sheet from one for separate files, I have batch for this also.

For Monkey's Audio files, it requires the program, shntool. For flac files, it requires metaflac.
CODE
@ECHO OFF
CD /D "%~dp1"
SET _outfile="%~dpn1 (single wav).cue"
IF EXIST %_outfile% (
ECHO "%~n1 (single wav).cue"
ECHO already exists!
ECHO.
ECHO Press any key to end . . .
PAUSE>nul
GOTO end
)
SET _line=
SET _skip=
SET _track=0
SET _total_frames=0
SET _correct_cue=
SET _tempfile=%TEMP%\~imgcue.tmp
GOTO start
:get_next_line
SET /A _line+=1
SET _skip=skip=%_line%
:start
FOR /F "usebackq tokens=1,2* %_skip%" %%X IN (%1) DO (
SET _x=%%X
SET _y=%%Y
SET _z=%%Z
GOTO generate_cue
)
GOTO end
:generate_cue
IF "%_x%" == "FILE" (
CALL :file "%~dp1%_y:~1% %_z:~0,-5%
GOTO check_for_error
)
IF "%_x%" == "PREGAP" (
IF %_track% GTR 1 (
IF "%_correct_cue%" NEQ "c" (
GOTO leftout_gaps
) ELSE (
GOTO lg_index
)
)
)
IF "%_x%" NEQ "INDEX" GOTO other
IF "%_z%" == "00:00:00" (
GOTO start_index
) ELSE (
GOTO non_start_index
)
:other
IF %_track% NEQ 0 (
IF "%_x%" == "TRACK" (
SET _x= TRACK
) ELSE (
SET _x= %_x%
)
)
IF DEFINED _z (
ECHO %_x% %_y% %_z%>>%_outfile%
GOTO get_next_line
)
IF DEFINED _y (
ECHO %_x% %_y%>>%_outfile%
GOTO get_next_line
)
ECHO %_x%>>%_outfile%
GOTO get_next_line
:start_index
IF "%_y%" == "01" GOTO new_start_index
IF "%_correct_cue%" == "" GOTO corrected_gaps
IF /I "%_correct_cue%" == "p" GOTO get_next_line
:new_start_index
CALL :format_index %_prev_ftotal%
ECHO INDEX %_y% %mm%:%ss%:%ff%>>%_outfile%
GOTO get_next_line
:non_start_index
IF "%_y%" == "01" (
IF /I "%_correct_cue%" == "p" (
CALL :new_00_index %_z%
GOTO new_start_index
)
)
CALL :extract_index %_z%
SET /A _iframes=_prev_ftotal + mm*4500+ss*75+ff - _pregap
CALL :format_index %_iframes%
ECHO INDEX %_y% %mm%:%ss%:%ff%>>%_outfile%
GOTO get_next_line
:new_00_index
CALL :extract_index %1
SET /A _pregap=mm*4500+ss*75+ff
IF %_track% == 1 GOTO pregap
SET /A _iframes=_prev_ftotal - _pregap
CALL :format_index %_iframes%
ECHO INDEX 00 %mm%:%ss%:%ff%>>%_outfile%
GOTO :eof
:pregap
ECHO PREGAP %1>>%_outfile%
GOTO :eof
:file
IF EXIST "%~n1.wav" (
CALL :wav "%~n1.wav"
GOTO :eof
) ELSE (
IF EXIST "%~n1.flac" (
GOTO flac
) ELSE (
IF EXIST "%~n1.ape" (
GOTO ape
) ELSE (
ECHO "%~n1"
ECHO does not exist as .wav, .flac, or .ape!
SET _error=2
GOTO :eof
)
)
)
:flac
metaflac --show-total-samples "%~n1.flac">%_tempfile%
FOR /F "usebackq" %%A IN (%_tempfile%) DO (
SET length=%%A
GOTO got_metaflac_data
)
:got_metaflac_data
SET /A _boundry=length%%588
IF %_boundry% GTR 0 (
ECHO The time for
ECHO "%~n1"
ECHO cannot be accurately calculated.
ECHO.
ECHO The file may not end on a frame boundry.
SET _error=3
GOTO :eof
)
SET /A _current_track_frames=length/588
GOTO calculate
:ape
shntool len "%~n1.ape">%_tempfile%
FOR /F "usebackq tokens=1,3 skip=1" %%A IN (%_tempfile%) DO (
SET length=%%A
SET cdr=%%B
GOTO got_shntool_data
)
:got_shntool_data
IF %cdr:~0,2% NEQ -- (
ECHO The time for
ECHO "%~n1"
ECHO cannot be accurately calculated.
ECHO.
ECHO The file may not end on a frame boundry.
SET _error=3
GOTO :eof
)
SET mm=%length:~0,-6%
IF %length:~-5,1% == 0 (
SET ss=%length:~-4,1%
) ELSE (
SET ss=%length:~-5,2%
)
IF %length:~-2,1% == 0 (
SET ff=%length:~-1%
) ELSE (
SET ff=%length:~-2%
)
SET /A _current_track_frames=mm*4500+ss*75+ff
GOTO calculate
:wav
SET /A _boundry=(%~z1 - 44)%%2352
IF %_boundry% GTR 0 (
ECHO The time for
ECHO "%~n1"
ECHO cannot be accurately calculated.
ECHO.
ECHO The file may not end on a frame boundry.
SET _error=3
GOTO :eof
)
SET /A _current_track_frames=(%~z1 - 44)/2352
:calculate
SET _prev_ftotal=%_total_frames%
SET /A _total_frames+=_current_track_frames
SET /A _track+=1
SET _pregap=
IF %_track% GTR 1 GOTO :eof
ECHO FILE "Range.wav" WAVE>>%_outfile%
GOTO :eof
:check_for_error
IF "%_error%" NEQ "" GOTO error
GOTO get_next_line
:extract_index
SET _z=%1
IF %_z:~0,1% == 0 (
SET mm=%_z:~1,1%
) ELSE (
SET mm=%_z:~0,2%
)
IF %_z:~3,1% == 0 (
SET ss=%_z:~4,1%
) ELSE (
SET ss=%_z:~3,2%
)
IF %_z:~6,1% == 0 (
SET ff=%_z:~7,1%
) ELSE (
SET ff=%_z:~6,2%
)
GOTO :eof
:format_index
SET /A mm=%1/4500
SET /A ss=%1%%4500/75
SET /A ff=%1%%4500%%75
IF %mm% LSS 10 (SET mm=0%mm%)
IF %ss% LSS 10 (SET ss=0%ss%)
IF %ff% LSS 10 (SET ff=0%ff%)
GOTO :eof
:corrected_gaps
ECHO The source CUE sheet was likely created using
ECHO the Multiple WAV Files With Corrected Gaps option.
ECHO.
ECHO Enter "P" to continue assuming the corresponding files were created
ECHO with the Append Gaps To (P)revious Track (default) option selected,
ECHO.
ECHO enter "N" to continue assuming the corresponding files were created
ECHO with the Append Gaps To (N)ext Track option selected, or
ECHO.
SET /P _correct_cue=press ^<Enter^> to exit:
IF /I "%_correct_cue%" == "p" GOTO get_next_line
IF /I "%_correct_cue%" == "n" GOTO new_start_index
GOTO del_outfile
:leftout_gaps
ECHO The source CUE sheet was likely created using
ECHO the Multiple WAV Files With Leftout Gaps option.
ECHO.
ECHO Enter "c" to continue assuming the corresponding files were created
ECHO with the Append Gaps To Previous Track (default) option selected or
SET /P _correct_cue=press ^<Enter^> to exit:
IF /I "%_correct_cue%" NEQ "c" GOTO del_outfile
:lg_index
CALL :new_00_index %_y%
SET _pregap=
GOTO get_next_line
:error
ECHO.
ECHO Press any key to end . . .
PAUSE>nul
:del_outfile
DEL %_outfile%
:end
DEL %_tempfile%
This is probably what you wanted in the first place?
PS: cuesheets were not intended to be used as playlists. If you want to append separate tracks using foobar2000, load them manually or with a playlist file (m3u, pls, or whatever format it likes).