My mentor, Philip, did several of the things that you mentioned you wish had been done when you were starting out. For instance, whenever I programmed something that was good he gave me encouragement and praised me for it, but then only on the things I programmed that really were good which made me respect his opinion. He gave me tasks that were almost always a little bit out of my reach in terms of my abilities but let me know that anytime I needed help he was there.
I would say overall, he was great for the following reasons:
1. He gave advice willingly but not with an overkill, mostly only when I asked for it, but every now and then he say 'hey, you wanna learn how to manage linux users, or tighten up apache security',
2. He was a really good programmer so he always had my respect.
3. He let me handle problems on my own and had faith in me, letting me always know he was there if there was anything I couldn't handle.
4. He had great advice in general for example:
he considered the best programmers to be "lazy" programmers because they would take their time - not start coding immediatly - think through the task and its solution, and only then begin programming with the goal being to solve the problem in the easiest way possible i.e. so that future imports to a database could be called from a simple shell script requiring the programmer to just hit enter.
Another great one was when he told me about two types of workers. Type A he said is someone who you send to find out what's wrong with a crashed server, he goes out comes back and tells you. Type B he said is someone who you send to find out what's wrong with the server, he comes back tells you what was wrong with it, how he repaired it and any other pertenant information.
I hope this helps you a little bit, its been fun reminising about the good 'ol days back when and I hope it works out well for you and the new guy!