You'll have to understand that init.vm (or init_custom.vm) just initializes what is available to velocity when interpreting the theme - it does not modify what is happening in the backend, e.g. it's not going back to what is available from the API (as is themeDisplay)
My advice would be to just set the companyName, URL and Mail through ControlPanel, Portal Section, "Portal Settings". In case you have definitive needs to customize them when your theme is active, you should go either through theme properties like this:
1<%=themeDisplay.getThemeSettings().getProperty("my-custom-information") %>
or alternatively use the API to change the globally available company data (in case you want that).
You can even make them configurable if you add them to your theme:
1 <theme id="classic" name="Classic">
2 <root-path>/html/themes/classic</root-path>
3 <templates-path>${root-path}/templates</templates-path>
4 <images-path>${root-path}/images</images-path>
5 <template-extension>vm</template-extension>
6 <settings>
7 <setting configurable="true" key="my-custom-information" value="Whatever default you'd like" />
8 </settings>
9 </theme>