Hi Andy
You should be able to do this as follows (untested):
procedure SaveObjectsOfLayer(sFilename: string; iLayerToSave : Integer);
var
  i: integer;
  ihobj: integer;
  fs: TFileStream;
begin
  fs := TFileStream.Create(sFilename, fmCreate);
  for i := 0 to ImageEnVect1.ObjectsCount - 1 do
  begin
    ihobj := ImageEnVect1.GetObjFromIndex(i);
    // if hobj is on the specified layer then save it
    iobjLayer := ImageEnVect1.ObjLayer[ihobj];
    if iobjLayer = iLayerToSave then
      ImageEnVect1.SaveToStreamIEV(fs, ihobj);
  end;
  fs.free;
end;
Nigel 
Xequte Software
www.xequte.com
nigel@xequte.com