Ginge nicht auch "var meinTerm := TTerm.Create() as ITerm"?
Sicher kann man so etwas machen. Aber ich sehe den Vorteil solcher Verbiegungen nicht...
Wenn man unbedingt Inline-Variablen nehmen muss, dann sollte man zumindest auf Type Inference verzichten:
var meinTerm: ITerm := TTerm.Create;