From what I've read and seen here, I'll offer the following:
If attending a white-tie event, the waistcoat may be of tartan or a solid color, usually matching the jacket/doublet.
If attending a black tie event, the waistcoat is usually black to match the jacket/doublet. If the jacket/doublet is not black, then the waistcoat is usually the same color as the jacket/doublet, but can be black to match the tie.
If attending a formal evening event, then a black Argyll is usually recommended here and the waistcoat is usually black, but if it's a different color, that's alright.
If attending a non-formal "day" event, then the jacket is usually tweed and the waistcoat need not be the same tweed, the same fabric, or even the same color as the jacket, but if it is, then that's alright, too.

What I've gleaned is that day wear, especially in the Highlands, is not known for matching colors and such. Historically, Highlanders wore what they had, and accumulated bits and pieces of their kit over time, not all-at-once-from-a-shop-selling-matching-stuff like a lot of folks do it today. See some of Jock Scot's pictures for a better example than I can write.

I'd like to see pictures of your grandfather working on the farm in a waistcoat and tie.