Raw polygons:
void(string shadername) BeginPolygon = #306; (FTE)
void(string texturename, float flags [, float draw2d]) BeginPolygon = #306; (DP)
DP doesn't support shaders in polygons. FTE requires them if you want to disable mipmapping or enable blending. 2d stuff is an extra extension supported only by DP that I only just discovered. Other stuff is the same.
Side note: This also applies for drawpic and the extra argument that DP mandates, although FTE does attempt to honour that flags argument.
Querying scene/view settings:
vector/float(float property) getview = #309; (FTE)
vector/float(float property) getview = #303; (DP)
(original spec had no query as an aid to cheat prevention - no aimbots if you don't know where the player is).
Stats:
Using ev_integer for floats is suboptimal in FTE, but the only way in DP.
Using strings, DP is limited to 15 chars. FTE permits much longer strings. Also, FTE string stats use a different namespace.
DP uses stats 2??-255 for various movement cvars on the server (eg: sv_maxspeed). FTE provides such cvars only through the serverkey builtin.
Meant to be otherwise compatible.
Temp ents:
Just.... just don't go there. Use stats, serverinfo, ents, or stuffcmds. Using tempents is an almost guarenteed way to break both saved games and protocol agnosticism. FTE servers will generate lots of warnings if you try, due to the whole protocol thing.