Here's something odd - I had already tried testing by commenting out the $text line and adding my own, which you'll see below. Then I added your die("here"); line above - this is what the code looks like, but scroll down to see what actually happened:
function nicer_pmpro_level_cost_text($text, $level)
$text = "Membership is free.";
elseif($level->initial_payment == $level->billing_amount)
//$text = $pmpro_currency_symbol . $level->initial_payment . "/" . $level->cycle_period;
$text = "hello";
add_filter("pmpro_level_cost_text", "nicer_pmpro_level_cost_text", 15, 2);
When I uploaded this, it skipped over "die" and you'll see the next line is commented out, but then it output the "hello." So then I got rid of "hello" and "die" and uncommented the original text line, and it still said "The price for membership is $3.95 now. Membership expires after 1 Month."