"Strait-laced" or "straight-laced"
While I agree with kiamlaluno on the matter of pronunciation leading to confusion, I believe that the order is reversed: strait-laced is the correct version, and people who don't realize that strait is the appropriate spelling hear the word spoken and spell it the "normal" way; the word "straight" is much more common these days than "strait."
Checking etymonline.com shows that "strait-laced" dates from the 1550s, and was used to refer to bodices and stays, meaning that the woman's clothing in question was very tightly bound and allowed little to no freedom of motion: it was laced in a strait fashion (strait = narrow, constricted, tight, limited, or strict). Extrapolating from that definition to behavior in general would be a fairly small step.
I think it depends on the fact that straight and strait have the same pronunciation (/streɪt/). With the time, the variant strait-laced has became more common because of people who, listening to the pronunciation of straight-laced, understood strait-laced.
Using the data reported in the Corpus of Historical American English, I can create the following tables; the first is for strait-laced, and the second is for straight-laced.
YEAR 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 FREQ. 0 0 1 1 0 5 6 2 1 3 PER MIL. 0.00 0.00 0.07 0.06 0.00 0.29 0.32 0.10 0.05 0.14
YEAR 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 FREQ. 0 1 1 1 1 2 4 2 2 2 PER MIL. 0.00 0.14 0.07 0.06 0.06 0.12 0.22 0.10 0.10 0.09
Comparing the two tables, it's clear that straight-laced was used first (1820-1829), but then strait-laced was the more used term in the years between 1860 and 1879, and between 1900 and 1909.
Google Ngram suggests strait[- ]laced came first around 1790 and has always been more popular than straight[- ]laced which showed up from 1810.