We're going to prove dual M is flat by applying the previous theorem.
Let H be an ideal in R and consider dual M tensor H. For any x in H and any f in dual M, multiply f by x, giving a homomorphism from M into H. Everything in the tensor product is represented by a function in hom(M,H), though some functions in hom(M,H) may not be included in the tensor product.
Clearly dual M tensor R equals dual M. Suppose f*x, an element of dual M tensor H, becomes 0 in dual M tensor R. Pass the action of R between f and x and make one component or the other equal to 0. If cx becomes 0, it would do so in H, and f*x would be equivalent to 0 in the tensor product. So we must have cf cross x/c = 0. But if c kills f, then x kills f, and our original pair in dual M tensor H was 0. This is a technical proof of something obvious; the homomorphisms into H embed nicely inside the homomorphisms into R.
In summary, we can tensor dual M with 0 → H → R → R/H → 0, for any ideal H, and the result is exact. Thus tor(R/H,M) = 0, and dual M is flat.