I have a custom module with a controller with few actions. Eg: testAction, indexAction and so on.
I am able to access indexAction using
www.example.com/module/controller/
or
www.example.com/module/controller/index
but all other actions Eg.(www.example.com/module/controller/test) return 404 Page not found.
Interestingly, everything works (I can access all actions) without altering the code when I change the Magento database (I have two databases, it works with test but fails with live).
Try this in your theme layout xml
<module_controller_action translate="label">
<reference name="content">
<block type="core/template" name="name" template="path/to/form.phtml"/>
</reference>
</module_controller_action>
and
public function testAction() {
$this->loadLayout();
$this->renderLayout();
}