I know it’s been a long time, but just for the record..
I Think I found a better solution using UITableView.backgroundView
:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lisbon.png"]];
self.tableView.backgroundView = imageView;
[imageView release];
I tried with an image size of 320×480 on iPhone, and works perfect (I have tried with .jpg also).