It is important to have the intended use of your VPN well defined before starting your troubleshooting endeavors. Understanding how the system is meant to be accessed and used will rule out unrelated problems quickly. I have encountered a plethora of aspiring administrators with gross misconceptions for how OpenVPN should behave, who are pulling their hair out in frustration.
You might want to start simple and get a basic VPN operational before rolling in all the custom routes, authentication mechanisms, reporting, and so on. Following a simple how to and reading the man pages will get you off on the right foot.
Break up complicated configurations into smaller components when attempting to identify the root cause of a failure. Analyze general network settings and deployed configurations first, then move on to more complex components. Assigning static IPs, client-specific configuration components, and firewall rules can come second. As you progress through your setup and verify...