There shouldn't be any problems with the RadCaptcha when it is created dynamically in the Page_Init method. You can check my project (attached to the thread) and see that the RadCaptcha is validating the input correctly.
What I think might be causing the problem on your side is that you make AJAX calls before you try to validate the RadCaptcha. If a single AJAX call is fired RadCaptcha will always return the ErrorMessage that the input was invalid even if the correct code is entered. This is because, when
an AJAX request is fired, the server-side page goes through its full
page life-cycle. This means that a new RadCaptcha code will be
generated, but because it's an AJAX update it would not be shown on the
image (the old code is still shown because the RadCaptcha is not
affected by the partial page update). So, the user sees the old code
and therefore enters the old code. To overcome this issue just place the RadCaptcha in an UpdatePanel, so that it is updated on every single AJAX call.
If this is not your problem, please give us more information about your problem, and send us a simple running project where we can observe your behavior. Once we receive your project, we will do our best to provide a solution.
All the best,
the Telerik team