Wenn es zB. Dienstag ist und Du von einem Traum erzählen möchtest, den Du in der Nacht von gestern Montag auf heute Dienstag hattest, wie sagt man dann?
Für problematisch halte ich „vergangene Nacht hatte ich einen schlechten Traum“: alle bisher gewesenen Nächte sind genau genommen vergangene Nächte und es würde somit nicht eindeutig klar, in welcher der vielen vergangenen Nächte Du schlecht geträumt hast. Ebenfalls problematisch ist „gestern Nacht hatte ich einen schlechten Traum“ zu sagen: jemand könnte darunter tatsächlich die gestrige Nacht, also jene von Sonntag auf Montag verstehen und nicht die letzte der vergangenen Nächte, also nicht jene von Montag auf Dienstag.
Sage entweder „letzte Nacht hatte ich einen schlechten Traum“ oder sage „heute Nacht hatte ich einen schlechten Traum“. Beides ist richtig, bzw. kann nicht falsch verstanden werden. Die „letzte Nacht“ ist unmissverständlich die letzte der bisher vergangenen Nächte, also die von gestern Montag auf heute Dienstag. Mit „Heute Nacht“ könnte man zwar auch die erst noch bevorstehende Nacht meinen (etwa „heute Nacht werden wir Tanzen gehen“), doch es wird durch die Form „hatte ich einen schlechten Traum“ klar, daß eben nicht die noch bevorstehende, sondern die vergangene Nacht gemeint ist.