Solution 1:

Taken from the Online Etymology Dictionary:

scone (n.) - "thin, flat cake," 1510s, Scottish, probably shortened from Dutch schoon brood "fine bread," from Middle Dutch schoonbroot, from schoon, scone "bright, beautiful" (see sheen) + broot (see bread (n.)).

It should be noted that the word schoon in Dutch has taken on the meaning of the English adjective "clean". The pronunciation of schoon, linked below to its Google Translate page, rhymes with bone. I would conclude, then, that the "long 'o'" variation of scone is the correct one, etymologically speaking.

References:

Etymology - http://etymonline.com/?term=scone

Translation/pronunciation - http://translate.google.com/#en/nl/clean