The best way to determine where the problem is, is to use "no ip mroute-cache" on the the PIM enabled interfaces and to "debug ip mpacket". Of course, you'll want to log this to the buffer and not the console.
Doing this at each step of the way, you'll find that R4 is preferring a NON-PIM link to get back to the source.
*Oct 28 18:38:27.499: IP(0): s=10.1.37.7 (FastEthernet2/0) d=18.104.22.168 id=133, ttl=251, prot=1, len=114(100), not RPF interface
This should be an indication that path isn't taking the correct interface back to the source. A static mroute fixes this issue.