Never let it be said I'm a quitter - 3'd day and finally got it working *phew*.
Two solutions finally worked:
SOLUTION 1: Changing NSCells to NSBrowserCells
Code:
....
- (void)awakeFromNib
{
NSTableColumn* col = [[tableView tableColumns] objectAtIndex: 0]; // Only have one col so this is ok
NSBrowserCell* cell = [[NSBrowserCell alloc] init];
[cell setLeaf: YES];
[col setDataCell: cell];
}
....
- (void)tableView: (NSTableView *)tableView willDisplayCell: (id)cell forTableColumn: (NSTableColumn *)tableColumn row: (int)row
{
NSImage *img = [NSImage imageNamed:@"myIcon.png"];
[(NSBrowserCell*)cell setImage:img];
}
SOLUTION 2: Changing NSCells to ImageAndTextCells.
This requires the inclusion of the "ImageAndTextCell.h/m".
Code:
#import "ImageAndTextCell.h"
....
- (void)awakeFromNib
{
NSTableColumn* tableColumn = [tableView tableColumnWithIdentifier:@"MenuColumn"];
ImageAndTextCell* imageAndTextCell = [[[ImageAndTextCell alloc] init] autorelease];
[tableColumn setDataCell:imageAndTextCell];
}
....
- (void)tableView: (NSTableView *)tableView willDisplayCell: (id)cell forTableColumn: (NSTableColumn *)tableColumn row: (int)row
{
NSImage *img = [NSImage imageNamed:@"myIcon.png"];
[(ImageAndTextCell*)cell setImage:img];
}
There you go

The codesample "ImageBackground" was crucial, although I'm generally amazed at the poor documentation of all samples that Apple provide, making it harder than necessary for newbies like me trying to learn to discern any understanding from them.
Wonder which one is the best to use, though. Have read some posts from people recommending not to use the NSBrowserCell, but giving little input as to why...