A better GUI for the Linux version of Mathematica. The current Motif GUI is too outdated; a GUI using GTK+ or Qt is doable.
[RE:A better GUI] This could be accomplished using one codebase for all platforms if, for example, Qt were used. The importance of developing a better GUI is blatantly obvious. I'm confident that WRI are in favour of platform independent development. I sincerely hope they find the resources to continue along that noble course.
An open bug list were users can vote on the priority of each bug (a tool like Bugzilla - the tool that is used by many open-source software projects).
Generate op-code (for DSP-Chips) from a Mathematica program. Or GPUs.
Mathematica-hardware-acceleration-board (DSP-transputer for number crunching and ARM-transputer for highly parallel algebra calculations). An existing solution is to use many computers and GRID Mathematica.
G-programming-language (graphical programming) like "LabView".
Working Audio Input, with controls on sampling rate, start and end times, accessible from both menu and the kernel. (Audio In has been dead for last couple of revisions).
Kernel access to hardware ports and devices, like serial ports, parallel ports, USB and Firewire. (you might want to try J/Link)
Orthogonalize the relationship between content and style. It seems reasonable that Mathematica code could be stored in FullForm with formatting information maintained in an associated formatting file. The current form of a saved notebook is simply cruel. If for some reason something goes wrong - and this does happen - breaking the notebook so that it cannot be loaded in the FrontEnd, under the current implementation we are forced to try untangling the problem using Emacs or some other text editor. Think in terms of MathML's content markup vs. presentation markup.
Provide style sheets (CSS) for NotebookML. If you know what this is, you don't need an explanation as to why it would be valuable. Here's a motivational example: http://www.badgers-in-foil.co.uk/projects/docbook-css/
Kernel output should not become part of the souce code unless the user specifies that it should be. Instead kernel generated data should be stored in auxiliary files associated with the source code file. To avoid excessive clutter, the auxiliary files could be stored in a wrapper file along with the source - think jarfiles - or each notebook could be stored in its own subdirectory. There is not good reason for storing the binary representation of generated graphics, for example, in the same file as the source code.
Make NotebookML (optionally) the default load and save format for notebooks.
Support for document definitions such as DocBook http://www.docbook.org with special elements to hold Mathematica cells and MathML elements.
MathLink++: A C++ API for MathLink. This should include a class representing the Mathematica Notebook, as well as one for the text editor.
Emacs-style Mini-buffer. It's a field at the bottom of the window (yes I know it's really a frame in Emacsese) where you can type commands. For example, you might want to open an notebook. Instead of typing NotebookOpen[...] in you current notebook, you could hit a key combo to get focus in the mini-buffer, then type the command there.
the ability for the kernel to catch enormously large outputs to the front-end (e.g. accidentally forgetting the semi-colon on a large data element). This does the trick when inserted before other executions:
$Post = Which[MemberQ[{Graphics, Graphics3D,SurfaceGraphics, DensityGraphics, ContourGraphics, GraphicsArray}, Head[#]], #, ByteCount[#] > 100000, If[ToLowerCase[InputString["Resultant expression contains " <> ToString[ByteCount[#]] <> " bytes. Do you wish to print this result to the screen anyway? (y/n)"]] == "y", #, Print["Expression suppressed."]], True, #] &;
Better Help support for FrontEnd programming, listing all FrontEnd commands and tokens. Some elementary programming constructs should be available also in the FrontEnd (at least "If" and integer and string variables).
[RE:Kernel goes open source] How would that benefit Wolfram Research? There are alternatives such as the model used by sun Microsystems in which they provide the sourcecode, but retain rights to it. Simply providing a better API for third-party development would also be a big step in a positive direction.