you can't control this for individual edges with a material. you can only enable or disable gouraud shading for the whole model.

if you need control over single edges then splitting vertices is the only way. the increased vertex count doesn't matter at all. for directx mesh buffers the splitting has to be done anyway internally. there is no other way of achieving hard edges with directx (and also opengl).

but of course this can be an annoying workflow in some software. ideally the mdl exporter should care for this and convert smoothing information to correctly split up geometry.

blender handles this very well. if you use the edge split modifier you can define the smoothing like you want and everything will end up in gamestudio correctly.