When my bootloader and stage2 were still serparate I was having the exact same problems, but I have not heard anyone else encountering the same issues.
What? All my functions are 16 bit except for the jump into protected mode so I'm still confused as to what you mean.Mixing 16 bit and 32 bit code the way you are currently doing can cause possible alignment issues. ie, you are having 16 bit code call 32 bit functions that call BIOS interrupts. This alone is fine, but is also prone to possible low level issues (from my experience, anyways...)