2. Lower the amount of times compressed data is compressed! It would improve load/save times of executables and GMKs. You really don't need to compress what was already compressed. Just compress all as a whole.
Make string-based functions binary-safe - Most GM functions consider NULL an "end-of-string" marker, but sometimes (particularly when dealing with binary files themselves) it's more appropriate to be able to store NULLs within a larger byte string. I suppose this could be done by messing with the data types internally a bit, prepending them with their lengths, so the functions know that there are more bytes after the NULL?
Switch default show_message/show_question/etc. dialog boxes to the default OS dialog boxes - It just looks more professional, and there's already an extension for it (at least for the Windows version). If this is implemented, then perhaps you could have analogues like show_message2 or something that would display the current style dialogs, for those who want them.
Allow us to get the position/length of a sound, and set the position - I'm surprised I didn't see this on the list, but if sound instances are added (which were on the list), a natural extension would be to allow us to get the length of a sound and get/set the position of a playing sound. We can do it with CD tracks, so why not sounds?
DLL Extension better linking/calling convention - Meaning, instead of the 4 argument limitation when dealing with 'char*', it should handle multiple (which can be done, and I showed assembly code how to do it). ALSO, GM should take responsibility for 'char*' memory returns. To be backward compatible, the 'dll_cdecl' and 'dll_stdcall' can have 2 more options of 'dll_cdecl_own' and 'dll_stdcall_own' (or similar) to tell the definition that GM is to free the 'char*' on return.
draw_roundrect with selectable chanfer amount - draw_roundrect() draws a rectangle rounded about three pixels. It should be possible to specify the amount of pixels at which the rectangle is rounded. I guess that could be simply done with an extra argument to the function. It should make things easier, because drawing a rounded rectabgle with GML code is a quite hard thing to achieve.
I've added these suggestions to the list. However, redundant compression is solved by splitting up gmk's, and I'm not sure how possible it would be for GM to free returned strings, since the DLL could allocate the string however it wants. Maybe if there were a better-defined interface between the two, which would be required for DLL access to game resources, things would be more clear.
draw_me function or similar - This would be equivalent to draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha), but much smaller. It's a tiny inconvenience, I suppose, but it's a line of code that's used more than any other piece of code I've ever seen, so what's the harm in making it a built-in function?
I'm not quite sure this is a good idea to add to the list- it's trivially added in a script, which could be in an extension or imported from a text file.
arbitrary number of alarm events post
Support for some tracked music format (MOD or XM)
These suggestions are already on the list.
One thing I've actually heard before, but seems not to be listed (probably because it's just a tiny improvement):
Export script folders - When you use export all scripts, folders are missed. That sometimes makes scripts much harder to organise (especially when there are a lot of them), and it probably isn't a hard thing to do.
And here are some other (also tiny) suggestions, which I have never seen before:
Template files - Like in other several programs, there should be a feature which allows you to save a file as template, and then create from that template. A workaround is saving your "template" file and load it later, modifying it and saving as something different, but having a template mechanism would make this much easier. For some people (including myself), it is already a reflex to Ctrl+S from time to time, and save the work, but in this case, that would overwrite the template file, and thus the next time the template needs to be redone. Other than that, having a quick-access template menu would be much easier than searching the whole computer for some file.
I tried to avoid redundant or trivial suggestions - exporting scripts to a gmres file preserves the directory structure and copying templates rather than using save as avoids that issue.