ciao,
da quello che hai postato credo proprio che il tuo programma funzioni correttamente!

se ad esempio t= 13:50 si verificano 3 delle tue 5 condizioni. etc.etc.

per risolverlo io farei cosi:


codice:
 SET /q /s t=%TIME% 
if t lss "07.00.00,00" echo Ciao..Sono le %TIME%, Non t svegli? >> saluto1.txt
if t lss "13.00.00,00" echo Ciao..Sono le %TIME%, Buona Mattinata  >> saluto2.txt
if t lss "18.00.00,00" echo Ciao..Sono le %TIME%, Buon Pomeriggio  >> saluto3.txt 
if t lss "23.00.00,00" echo Ciao..Sono le %TIME%, Buona Serata  >> saluto4.txt
if t lss "23.59.59,00" echo Ciao..Sono le %TIME%, Non vai a dormire?? >> saluto5.txt
ciao