If you need to label 25' intervals on a vertical curve, this may be one way to do it. I haven't tried yet in production, but I think this will be easier than the way we are doing it now.

The formula for the vertical curve is (From Help):

We will use this formula in an expression to place the label at the correct location. For the first 25' label the expressions would be:

Station: {Profile Curve Start Station}+25

Elevation: (({Grade In}/1)*25+(({Grade Out}-{Grade In})/(2*{Profile Curve Length}))*25^2)

X Offset: 0.6125

Y Offset: (({Grade In}/1)*25+(({Grade Out}-{Grade In})/(2*{Profile Curve Length}))*25^2)/(4*12)

For each interval just add 25 for each additional label you need, you will have to figure out the math for the X Offset yourself. Since Civil 3D stores the decimal value the 100 and 200 are changed to 1 and 2 respectively. Use the above values in your label for the visible values in the label and the X Offset and Y Offset to get the label in the correct location. The /(4*12) scales the offsets to the correct distance. You could add some if then statements to prevent the labels from showing up if the vertical curve isn't long enough or just add the labels for each vertical label.

A sample file with 25 and 50 expression may be found here with the 02-17-2008 date.