1) Local axes. MMD's local axes relate only to the use of the rotation rollers-- not for things like IK angle limits, which always use global axes. You can get around this by setting up an IK bone in the global axes and then initializing it into different axes by placing an IK target someplace else, or by appending from another IK bone doing the same thing (for initializing complex local axes). This often means transforming a model into a weird default position, such that the IK drags the model into the right position. Initializing angle from other IK bones runs into weird bugs and requires more levels of deformation tier than you'd expect, but once it works, it stays working.
2) Stacked constraints. Use another layer of bones-- another bone in the same location, parented in a chain.
3) Damped track. Single most useful constraint. Use a single bone IK chain. A warning that applies whenever using MMD's IK bones: they fail in circumstances