Чтобы подсчитать расстояние, при создании магазина пули его положение где-нибудь. Тогда каждый шаг проверяйте:
b2Vec2 diff = bullet->GetPosition() - startPosition;
if (diff.Length() > MaxLen)
{
world->DestroyBody(bullet);
}
EDIT:
если вы хотите вычислить длину пути, то сохраните где-нибудь предыдущую позицию и длину пути, то есть изначально 0:
b2Vec2 diff = bullet->GetPosition() - prevPosition;
pathLength += diff.Length();
if (pathLength > MaxLen())
{
//destroy bullet//world->DestroyBody(bullet);
}