Converting Pronto hex codes to raw on/off pulses
I just recently picked up on IR also, and am trying to control my device with the IR blaster on my phone and not it's remote.  All I have is an ir sensor and output of time between pulses. ( I decoded all for a 32 bit code, but that doesn't start at Header) 

I guess really to answer your question is that it is not the actual pulse of infrared being measured. The distance between each pulse is what is important. Every pulse is 560u except the first one is 9x longer. This is why it always starts with 0000. A binary 1 comes from a longer "wait time". 560u pulse the time until the next pulse (total 2.25ms) and 0 from a shorter  (1.125, half of a long pulse)
http://www.hifi-remote.com/infrared/IR-PWM.shtml and most helpful
http://www.remotecentral.com/features/irdisp3.htm

also from further research I realize pronto hex is not the same as NEC sorry
but I think your problem lies in your third and fourth word 0011 0006 are saying how long bursts 1 and 2 will be. Their decimal value is how long bursts 1 and 2 are, and yours adds up to 23. But I didn't count your code.(I keep editing) Your code adds up to 21, as it should. Change your 0011 0006 to 0000 0015

Also working on bits 5,6