Σε ένα μέτριο κατσαρολάκι προσθέτουμε όλα τα υλικά για το σιρόπι και ζεσταίνουμε σε μέτρια προς δυνατή φωτιά ανακατεύοντας. Από τη στιγμή που θα πάρει βράση σιγοβράζουμε για 6-7 λεπτά. Αφαιρούμε από τη εστία και αφήνουμε να κρυώσει πάρα πολύ καλά (πρέπει να το δούμε να πήζει).
Για τη κρεμα και το γαλακτομπουρεκο
Προθερμαίνουμε το φούρνο στους 160 – 165 βαθμούς στον αέρα.
Στο μούλτι ή στο μπλέντερ, χτυπάμε το χαλβά μαζί με 2 κούπες γάλα μέχρι να γίνει μια κρέμα. Σε μια μεσαία κατσαρόλα προσθέτουμε το υπόλοιπο γάλα, τη ζάχαρη, τις φλούδες πορτοκαλιού και τη βανίλια και φτάνουμε τη θερμοκρασία λίγο πριν το βρασμό (λίγο πριν δούμε μπουρμπουλήθρες στην επιφάνεια). Αφαιρούμε τις φλούδες πορτοκαλιού.
Παράλληλα, σε ένα μεγάλο μπολ ανακατεύουμε τα δύο είδη σιμιγδαλιού και τα αυγά και ομογενοποιούμε με έναν αυγοδάρτη.
Με μια κουτάλα προσθέτουμε – με πολύ σταθερή και ελεγχόμενη ροή ειδικά στην αρχή και ανακατεύοντας πολύ έντονα – το γάλα μέσα στο μείγμα με τα αυγά, πολύ προσεκτικά για να μην μαγειρευτούν τα αυγά. Στη συνέχεια, επαναφέρουμε το μείγμα με τα αυγά στην κατσαρόλα, προσθέτουμε το γάλα με το χαλβά, χαμηλώνουμε τη θερμοκρασία σε μέτρια και σιγοβράζουμε, συνεχίζοντας το ανακάτεμα, για 5 – 6 λεπτά ή μέχρι η κρέμα να αρχίσει να δένει ελαφρά. Δεν θέλουμε η κρέμα να σφίξει πολύ, αλλά να είναι παχύρευστη. Η κρέμα σε αυτό το σημείο θέλει προσοχή για μα μην μας κολλήσει.
Βουτυρώνουμε ένα κλασικό ταψί 30Χ40 και στη συνέχεια ξεκινάμε να στρώνουμε τα φύλλα κρούστας βουτυρώνοντας πάντα ενδιάμεσα. Στρώνουμε τα μισά φύλλα περίπου 6-7 στρώσεις.
Αμέσως αδειάζουμε την καυτή κρέμα στο ταψί. Κόβουμε τα υπόλοιπα φύλλα στο μέγεθος του ταψιού (έτσι ώστε να χωρέσουν ακριβώς) και τα στρώνουμε βουτυρώνοντας πολύ καλά ενδιάμεσα. Διπλώνουμε προς τα μέσα τα φύλλα της βάσης. Χαράζουμε το γαλακτομπούρεκο επιφανειακά σε 12 κομμάτια και περιχύνουμε με το βούτυρο που μας έχει περισσέψει.
Ψήνουμε για 75 λεπτά, μέχρι τα φύλλα να πάρουν ένα ροδοκόκκινο χρώμα.
Αφαιρούμε το ταψί από το φούρνο και σιροπιάζουμε περιχύνοντας το κρύο σιρόπι στο καυτό γαλακτομπούρεκο. Αφήνουμε όλο το σιρόπι να απορροφηθεί και το γαλακτομπούρεκο να κρυώσει για τουλάχιστον 2 – 3 ώρες.