One thing that I did not see mentioned here when adding a background image is implementation of:
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
// Set to transparent (or could play with alpha)
[cell setBackgroundColor:[UIColor clearColor]];
Other your cells are not transparent and you do not get to see your image.
Please note that this is not a copy/paste of the code, so I may have introduced some typos.
I hope this helps someone.