Hi Greg,
I think I know what the problem is. Setting WritePotential = 1 works just fine in a number of problem types, like the cosmology simulation. If you do a grep of WritePotential in the source, you will see that, for example, in CosmologySimulationInitialize.C and Grid_CosmologySimulationInitializeGrid.C, the data label and field type are created for the potential field, allowing it to be written out. I think all you need to do is copy those few lines of code that appear in those routines to your problem and grid initializer.
Feel free to come find me next week if you have any questions about this.
Britton