Stupid question: Did you link against libasound statically or dynamically? In any case, which version of libasound did you build against?
Try to build (dynamically) against the same version as the one shipped on your target, the ALSA API/ABI can be tricky sometimes...
EDIT: The 'official' toolchain used on the Touch is (apparently) a specific CodeSourcery TC (can't remember the exact version right now). I'm personally using a self-built TC with a more recent GCC version using crosstool-ng, but, depending on what you want to do, that might not be the easiest solution, or the right one at all [ie. if you want to build a kernel/kernel module, you'll probably have to use the exact same TC as Amazon]
.