Aside from recent MacBook Pros, I've never yet seen a laptop that requires an Fn+Key type combination for the F keys, that doesn't also have an option in the BIOS to revert to normal behaviour (with Fn + key then giving the alternative effect that was previously standard). YMMV, but I find that even these days when I'm not really doing much Lemmings stuff (and when I am, I rarely use the F key shortcuts anyway; I usually use middle-click for pause and the mouse for everything else on the skill panel), I use the F keys more often than most of their alternate uses, the only ones I use regularly being the volume keys.
Regarding the cancel option - this sounds like you need to revise when the editor generates this option. Essentially, it should be the first thing that happens after selecting New / Load / Exit (though in the case of Load, popping up the select file dialog first is understandable, as this seems to be the standard for many applications). This could work simply by, upon triggering one of these functions, immediately running something along these lines (using Delphi-ish code in this examples):
procedure OnClickOpen(Sender: TObject);
begin
if not DoSaveConfirm then Exit;
DoOpen;
end;
function DoSaveConfirm: Boolean;
begin
if FileDoesntNeedSaving then
begin
Result := true;
Exit;
end;
case MessageDlg('Do you want to save?', mtCustom, [mbYes, mbNo, mbCancel], 0) of
mrYes: begin DoSave (* this procedure will ask for filename if needed, and then save the file *); Result := true; end;
mrNo: Result := true;
mrCancel: Result := false;
end;
end;
In terms of running this when trying to quit the application, at least in Delphi forms have an "OnCloseQuery" event which is the key to this. One of the parameters is "var CanClose: Boolean" (might not be that actual name; what matters is that it's "var" and Boolean); the value "true" is passed to this when the event is triggered, but if it's set to false during the procedure, the application will not close - this is what you'd do on cancel.