Unfortunately there is no transit visa on arrival at Dubai airport for Indian passport holders. You need to get the visa beforehand. So you can apply through Emirates website where it costs 25 USD or you have to apply through the VFS DUBAI VISA PROCESSING CENTRE (DVPC) - here also there is service charge but its only Rs 820. Check out http://www.dubaivisa.net/india/duration48hours.html
I just returned from my trip a few days ago and also had a long layover in Dubai and got my visa through Emirates.com. Its more expensive, but was convenient as the whole application procedure was online and did not have to waste a day going to the VFS office. So please clarify your visa situation first.
Regarding your 1st question, I think one hour would be very tight to catch the metro. Consider the following factors
- If you touch down at exactly 12AM, it might 10-15 mins before you disembark and enter the terminal.
- You need to clear immigration to get your visa stamped and if there are few counters open at the late hour, there might be a queue for this. I landed in Dubai at 7 AM and though there was no large crowd it took about 10 mins to get the visa stamped at this hour.
- Dubai airport (Terminal 3) is very large and although this means it never feels crowded or rushed, you have to walk long distances to get to immigration and then to the exit after that.
- The metro station is right opposite terminal 3, but you need to get a ticket and might need to stand in queue for this also if there are other tourist also using the metro at this hour. There were automatic ticket machines, but only one manned counter in the metro station. Might be quick and easy to get a Metro NOL pass from the machine if you know how to work it.
Hope this helps.