Die Definition von `\Xi` lautet: `\mathchardef\Xi="7004`. Das bedeutet, dass für `\Xi` das Zeichen mit der Codeposition 0x04 aus der Klasse 7 = Variablen und der Familie 0 (roman) verwendet wird. Aufgrund der Klasse 7 wird immer dann, wenn `\fam` im Bereich 0–15 liegt, die angegebene Familie ignoriert und stattdessen `\fam` verwendet. Am Anfang einer Matheumgebung ist `\fam` immer -1. Daher wird tatsächlich das Zeichen mit Codeposition 0x04 aus der Familie 0 verwendet. Das ist also das aufrechte Xi aus cmr. Ein `\bf` ändert `\fam` auf 6, so dass man stattdessen das aufrechte Xi aus cmbx erhält. Damit entspricht also:
$\Xi\bf\Xi$
letztlich einem
$\mathchar "4\mathchar "604$
Mit Deiner Definition von `\vec` wird hingegen bereits am Anfang `\fam` auf 8 gesetzt. Damit entspricht
$\vec{\Xi}$
einem
$\matchar "804$
Es wird also das Zeichen 4 aus cmmib verwendet. Das ist ein fettes, kursives Xi, wie man auch mit
\tenmib\char "4
feststellen kann.
Wenn Du willst, dass `\vec` zu einem aufrechten, fetten Xi führt, also zu `\mathchar "604`, dann musst Du `\Xi` innerhalb von `\vec` umdefinieren, beispielsweise:
\def\vec#1{{\mib\mathchardef\Xi="604 #1}}
Allerdings wird dann ein
$\vec{a_{\rm\Xi}}$
noch immer ein fettes, aufrechtes Xi liefern,
Bei den kleinen griechischen Buchstaben ergibt liegt die Sache etwas anders. Diese sind in `cmr` nicht enthalten. Deshalb sind sie von vornherein nicht mit Klasse 7, sondern mit Klasse 0 (und Familie 1 = cmmi) definiert. Das bedeutet, dass die aktuelle Einstellung von `\fam` keinen Einfluss darauf hat, aus welchem Font sie verwendet werden. Dies entspricht also letztlich dem, was ich bereits für den Fall erklärt habe, dass man `\Xi` innerhalb von `\vec` umdefinieren würde. Um jedoch fette kleine griechische Buchstaben durch `\vec` zu erhalten, wäre die Lösung dieselbe wie für `\Xi` mit demselben Nachteil.
Die plainTeX-Erweiterung [`bsymbols`](http://www.ctan.org/pkg/fontch) geht einen etwas anderen Weg. Dort werden Befehle wie `\bfXi` und `\bfxi` definiert. Analog dazu könntest Du einfach `\vecXi` und `\vecxi` etc. definieren, die Du dann natürlich für Vektoren auch verwenden müsstest.