No need for a second file. Here's another method - the script is started with no command line parameter, then, after the timeout, the script starts itself again, not minimized this time, passing a parameter which makes it jump to a label where the choice, hibernate stuff happens.
@echo off
if "%1"=="2" goto second
title FIRST
echo Please minimize me!
REM or 3600 or whatever
set delay=60
timeout %delay%
start "" "%~dpnx0" 2
exit
:second
title SECOND
echo **********************************
echo * YOU HAVE 30 SECONDS TO RESPOND *
echo **********************************
echo.
choice /T 30 /C yn /D y /M "Hibernate now Y/N? "
if "%errorlevel%"=="2" exit
REM edit out the ECHO in capital letters
REM when you are happy it works
REM or insert your hibernate command here
ECHO shutdown /h /t 0
REM delete these 2 lines when you have debugged
REM and are happy
pause
exit