Ok. If the above test was successfull, it means that at is working and the atd daemon is running. Maybe a simple test like this works with cron, too. The problem resides in the command you issued inside the jobs. In your example /usr/bin/gedit cannot work simply because at jobs don't have any DISPLAY assigned, that is they are meant to work as non-interactive jobs. This implies that no graphical application can be run from at or cron jobs.
Actually, this is not quite true, because with a little or great effort (depending on the purpose and conditions of the job) you can try to assign a DISPLAY automagically. But this is another story...
Regarding the at job with /usr/bin/gedit, please try to issue
from the command line (logged as the user that launched the at job). Check the mail headers and find a message with something like "Output from your job" in the subject. Inside the message you will find an error similar to
cannot open display: (null)
Run '/usr/bin/gedit --help' to see a full list of available command line options.
This is very useful for debugging purposes, because cron and at jobs send their standard error and standard output to the user by mail (or at least this is the default behaviour) unless both the standard error and the standard output are redirected to a file or device.
Hope this will help!