I'm currently working on a project that involves using the Yaw, Pitch and Roll from a given Quaternion to calculate an objects orientation and acceleration.
I've searched a lot about how to obtain the YPR from a Quaternion, but they all seem to involve using tangent - and this seems to be causing problems whenever the sensor is rotated anything near 90 degrees.
So my question is: is it possible to obtain the YPR from a Quaternion without using tangent?
Your problem isn't that the tangent function is giving you bad results, it's that you have a singularity (See: gimbal lock) at a pitch of $\pm 90^o$.
At those orientations, you can have roll or yaw, but not both.