Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
It seems to me that you think your own loader is easier simply because you don't want to read the GRUB documentation. +1 to iansjack - you could have installed GRUB by now. If you think you can easily code a bootloader that will work on as big a range of configurations as GRUB then good luck to you.
What is the last instruction executed before the error message? I bet your code doesn't just naturally run in to 0xb0000. I expect the most likely thing is that you are using ret where 0xb0000 is on the stack.
One other thing that makes no difference. Your comments say "load to 1000h". If you need that comment, it's worth making it obvious that you mean *segment* 1000h.