You are getting an underflow error because you are doing a floating point computation that leads to underflow. There are a lot of pitfalls in floating point computing. Here's the wikipedia article on underflow specifically:

http://en.wikipedia.org/wiki/Underflow

The first thing to do is to try writing them as symbolic values instead of floating point numbers. To do this we get rid of the decimal point.

B = 27*10^29; MU = 10^-15;

And then we run your original Integrate command. Unfortunately, this doesn't work because of memory constraints. So what we would do in this case is first calculate the integral with just abstract symbols. Here I've used val1 and val2 which are not defined:

Integrate[x/(Exp[val1*(x + val2)] - 1), {x, 0, Infinity}]

This gives us this answer:

PolyLog[2, E^(-val1 val2)]/val1^2

And we can substitute B and MU into this formula:

PolyLog[2, E^(-val1 val2)]/val1^2 /. {val1 -> B, val2 -> MU}

There's a number of things you can with this output. Converting to decimal however would require either some manual work or would require arbitrary precision computing.