ksh does it too:

pklowesd@peter:PK-USA > mkdir test
pklowesd@peter:PK-USA > cd test
pklowesd@peter:PK-USA > touch *.sdl
pklowesd@peter:PK-USA > ls
*.sdl
pklowesd@peter:PK-USA > rm *.sdl
pklowesd@peter:PK-USA >


Even does it in a non-empty directory:

pklowesd@peter:PK-USA > cd testsql
pklowesd@peter:PK-USA > ls
item-search.sql onight.sql ord.sql
pklowesd@peter:PK-USA > touch *.sdl
pklowesd@peter:PK-USA > ls
*.sdl item-search.sql onight.sql ord.sql
pklowesd@peter:PK-USA > ls -l
total 6
-rw-rw-rw- 1 pklowesd dw_pk 0 Apr 26 01:50 *.sdl
-rw-rw-rw- 1 pklowesd dw_pk 140 Apr 10 10:14 item-search.sql
-rw-rw-rw- 1 pklowesd dw_pk 114 Jan 11 14:03 onight.sql
-rw-rw-rw- 1 pklowesd dw_pk 114 Feb 28 16:36 ord.sql
pklowesd@peter:PK-USA > rm *sdl
pklowesd@peter:PK-USA > ls
item-search.sql onight.sql ord.sql
pklowesd@peter:PK-USA >


tcsh, predictably, gives:
> cd test
> ls
> touch *.sdl
touch: No match.
>


bash on my system gives same results you saw, although I didn't try it in a non-empty directory. man pages on any of the systems used were not helpful.

Interesting.