Hi Michael,
If you use Compute() instead of Formula(), the correct answer string is set to the input string: see http://webwork.maa.org/moodle/mod/forum/discuss.php?d=2321 for an example. This may require that you actually code the derivative as $df = Compute("ln(2)*2^x"), rather than using the MathObjects differentiation method, however.
This is harder if you are working with Real valued answers; there are some threads in the Forum on fractional answer evaluation that may be of interest if you end up on that particular road.
Gavin
WeBWorK Problems
disabling the evaluation of constants
This forum has a limit to the number of forum postings you can make in a given time period - this is currently set at 10 posting(s) in 1 day