I can't help with the code, but with the idea.
After the page load use javascript for a client side counter. There is a time or timer object as I remember. Set it using current session time. For example
var session_time = <%=current_session_time%>;
When counter is zero (or any value you like in this case) a messagebox should appear and ask for extra time. Cancel should retun(false), OK should send some parameter to the current page. Something like
document.location = 'page.asp?sessiontime=<%=current_session_time+extra_session_time%>';
At the beginning of the page put something like
if request.querstring("sessiontime"

<>"" then
session.timeout = cint(request.querstring("sessiontime"

)
else
session.timeout = 30 ' default
end if
' Also set some other default values
extra_session_time = 10
current_session_time = session.timeout
Let me know if it works.