So I have successfully made a ray the represents the mouse unprojected into the world, and now I need to check if that ray can intersect with a quad object, here is the code
Not exactly a straight answer to your question, but perhaps you find this relevant.
Have you considered constructing a BoundingBox object and use the Intersects(Ray)? http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.boundingbox.intersects.aspx
Edit 1: It's how I usually do it. Depending on your data structure, it might also be easier to optimize (if you construct larger bounding boxes to bore into for example).
Edit 2: As per Niko's suggestion: I don't want to post the relevant code (because it's a couple of pages long in total to make the context make sense) from the samples, but I can point you to the parts that you'll be interested in.
The transform of the Ray is this part:
Matrix inverseTransform = Matrix.Invert( modelTransform );
ray.Position = Vector3.Transform( ray.Position, inverseTransform );
ray.Direction = Vector3.TransformNormal( ray.Direction, inverseTransform );
How deep you want to go (how accurate your picking) is up to your needs of course, but there you have it.