The attached project targets each of your questions.
1. I couldn't reproduce the issue. If you examine the attached project, you can see that TimePicker can be opened programatically without any issues.
2. The attached project demonstrates how to distinguish between the OK and Cancel buttons.
3. Again, I was unable to reproduce this issue as well. Setting a Step="1:15:00" made the TimePicker behave as expected: http://screencast.com/t/KjPr1EK4A
4. Please examine the GetModuloTime method inside the attached project.
5. Setting the Value property to null properly displays "Select time": http://screencast.com/t/Sk6UPF3PactM
Have a suggestion or face a problem - you can use the Ideas & Feedback portal
to submit ideas, feedback and vote for them.