You aren't going to believe this, but I have an HTC titan, and due to pocket-dialing, I decided to set a really simple pin that would stop the phone from pocket dialing.
Originally I set the pin to 1234, which was good, and moderately quick, but I decided I could go simplier, so I set it to 5555. Thats all one key, very easy.
Then (and this is where I should have stopped) I notice the onscreen keypad for pin entry had a big sized zero button, so I thought, if I set my lock code to 0000, it would be easy to do with my fat fingers. It happily let me set the pin to this sequence, but when I tried to unlock it, the phone wouldn't let me. I believe its todo with the emegency number dialing sequence.

When I enter each zero, an asterisk appears in the code box (as usual), until I enter the 3rd zero, then the code box changes from:
* * _ _
0 0 0 -

If I hit 0 again, nothing happens, if I hit 0 again after that, it resets back to
* _ _ _

I've quickly learnt the same behavour happens to 911, 111 and 112
Though with 911 and 112, the system seems to allow a 4th character

Now, how do I get into my phone without hard resetting it (and loosing all my configuration).

I can synch the phone (it asks for a pin in windows, which I can enter), but I can't change the pin from windows.

Does anyone have any ideas?
The "ideas" I've come up with, but haven't worked out how to do are:
1) Change the pin from my PC while connected via USB. No idea how
2) Use an "unlocker" program to bypass the pin, but I don't know where to find one.
3) Somehow convince the keypad I'm not trying to dial 000.

Other notes:
When I enter 000, I can press the green connect button, which starts dialing 000. That doesn't help, but its something.
I can't enter backspace when entering a pin, even with the keyboard. So entering 001[back]00, though a good idea, doesn't work.
Entering 0, 0, [long pause] 0 still results in a 000- screen.

Oh, and I've tried so many combination of ideas so far, I'm now up to 3 minute wait time between pincodes.