Is there any way to make a material work in cycles and the blender internal?
I'm looking for a way to have only one material in the material slot, but a different material for cycles and blender internal.
Without material nodes
You can sort of do this by enabling and disabling material nodes. (note that you cannot use material nodes in your BI material with this approach)
Create a BI material:
Switch to cycles and enable material nodes:
Create a cycles material:
Switch to BI and disable nodes:
Your original BI material will appear unchanged.
With material nodes:
If you do need material nodes for your BI material, then you will have to create both the cycles material nodes and the BI material nodes in the same node tree:
Note that you can only add nodes for the render engine that is selected (though I think you can add any node regardless if you add them from python), so you will have to switch the selected render engine back and forth.