Hi,
If you Sim your code as shown in the jpeg, and open up the View - DisAssembly List you can see that first, your delays are wrong, and second that those calls you say it is jumping over are being interpreted as something else and being ignored.
Have not seen that before and cannot say what is happening there - however my own lcd code runs fine.
( I'm sure Pommie with his much greater experience can explain that one ..? )
The lcd routine is one of the hardest for a beginner to get to grips with - so trying to write you own from scratch is even a more daunting task.
Apart from the difficult software, many diyers come to grief with the actual building of the pic to lcd circuit, so would really suggest you first prove your hardware with a tutorial example like this
Once its all working, go back and try your own code again, this time using Nigels code as a guide.