@Ronan Here is a minimum working example how to read a proc into a module:
restart; # the message is from my own .mapleinit file
"Maple Initialization loaded..."
test(); # not defined so just returns unevaluated
read("test.mpl"); # This reads (and executes!) test.mpl
test(); # now it is defined
"this is a test"
test.mpl looks like this:
print("this is a test");
As for using an external editor, that is obviously your own call. Personally I use Emacs and Joe Riel's maplev.el package for Emacs. maplev mode does syntax coloring and code-indentation; Emacs allows to split a window; all very convenient features when coding. But then, I have known Emacs for a long time... But you can presumably also use Notepad on Windows.
I find editing in Maple and then writing the code out not very satisfactory. Small packages I just keep in the Maple environment & save directly to the .mla file (I call that "compile it" although nothing of that sort is going on), keeping the .mw file in case I want to make changes whereas large ones I do in Emacs.
I am surprised about the mess with the directory separators in Windows. Maple used to deal quite well with the old ":" separator in Max OS 9 and earlier so it certainly knows how to handle different separators. Maybe it is just a bug? I don't do Windows so I don't know.