First suggestion: don't write a doubly linked list unless it's for educational purposes. Use std::list instead. Reinventing the wheel is bad.
Next Suggestion: if you must write your own, save a pointer to the doomed node, make doomed's left's right point to doomed's right, and make doomed's right's left point to doomed's left. Delete doomed. Special case for first and last items and you're done.