[Android Software/Hacking General [Developers Only]] TechnoLover:
I have modified your script to work with my Acer Liquid MT, I removed some things and added the ability to move system dalvik cache onto the NAND...

all in all it does have the following:

EXT-Partition mounted as /data

Apps on EXT-Partition

Dalvik-Cache on EXT-Partition

Data on EXT-Partition

Dalvik-Cache for System-Apps on Internal NAND

this script maybe does not work with other phones, it's just for amarullz ;)

#!/system/bin/sh
#
# AMARULLZ DATA TO SD-EXT MOD FOR ANDROID ( AD2SDX )
# ==================================================
#
# by amarullz [at] yahoo [dot] com
# xda-developers : amarullz
# (c) 2011
# * Oct 19 (ALPHA01)
#
# Info: ~ For Changing Log
#
# Modified by TechnoLover to work an Acer Liquid MT
# ==================================================
# Dalvik-Cache for System-APK's on Internal NAND
# Dalvik-Cache for 3rd-Party-APK's on EXT-Partition
#
##

###
# Initializing
###

#-- SDCard Speed Fix
if [ -e /sys/devices/virtual/bdi/179:0/read_ahead_kb ]
then
/system/xbin/echo "8192" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
fi;

#-- Unmount /sd-ext if it already mounted
busybox umount /sd-ext;

#-- Mount /data and move it to /sd-ext
busybox mount /data;
busybox mount --move /data /sd-ext;

#-- Mount sd-ext to /data ( You Will Get 1GB/2GB Internal Memory :D )
busybox mount -t ext4 -o noauto_da_alloc,data=ordered,commit=15,barrier=1,nouser_xattr,errors=continue,noatime,nodiratime,nosuid,nodev /dev/block/mmcblk0p2 /data;
busybox chown 1000:1000 /data;
busybox chmod 771 /data;

###[ SDEXT mmcblk0p2 STRICT ]###
# app, app-private, data : should in /data (mmcblk0p2)
#
# ~ ALPHA02 - Add framework_s into (mmcblk0p2) strict
###
for i in app app-private data dalvik-cache;
do
#-- If symlink in /data, delete it
if [ -h /data/$i ]
then
busybox rm /data/$i;
fi;

#-- If directory exists in /sd-ext, move it to /data
if [ -d /sd-ext/$i ]
then
busybox mv /sd-ext/$i /data/;
fi;

#-- If directory does not exists in /data, create it in /data
if [ ! -d /data/$i ]
then
busybox mkdir /data/$i;
#-- Just open all permissions ;)
busybox chmod 0777 /data/$i;
fi;

#-- Now create symlink from /sd-ext to /data
if [ ! -h /sd-ext/$i ]
then
busybox ln -s /data/$i /sd-ext/$i;
fi;
done;

###[ INTERNAL mtdblock5 STRICT ]###
# For performance, dalvik-cache and system data should be on /sd-ext
###

#-- prepare dalvik-cache-system in /sd-ext ( for dalvik-cache system files )
if [ ! -d /sd-ext/dalvik-cache-system ]
then
busybox mkdir /sd-ext/dalvik-cache-system;
#-- Just open all permissions ;)
busybox chmod 0777 /sd-ext/dalvik-cache-system;
fi;

cd /data/dalvik-cache;
for i in `ls -d system\@*`;
do
#-- If symlink in /sd-ext/dalvik-cache-system, delete it
if [ -h /sd-ext/dalvik-cache-system/$i ]
then
busybox rm /sd-ext/dalvik-cache-system/$i;
fi;

#-- Now Create Symlink From /data to /sd-ext
if [ ! -h /data/dalvik-cache/$i ]
then
#-- move file from /data to /sd-ext (external to internal)
busybox mv /data/dalvik-cache/$i /sd-ext/dalvik-cache-system/$i;
busybox ln -s /sd-ext/dalvik-cache-system/$i /data/dalvik-cache/$i;
fi;
done;
cd /;

###
# Now create symlink of the rest non Symlink Directories and Files on /sd-ext to /data
#
# ~ ALPHA02 - Fix ls to ls -a, it's ok, because we test -h for symlink
###
cd /sd-ext;
for i in `ls -a`;
do
if [ $i != ".." -a $i != "." ]
then
if [ ! -h /sd-ext/$i ]
then
if [ ! -h /data/$i ]
then
busybox ln -s /sd-ext/$i /data/$i;
fi;
fi;
fi;
done;
cd /;

###
# It should also need to create the rest non Symlink Directories and Files on /data to /sd-ext
# ~ ALPHA02 - Some Directory may be missing if we don't use it
###
cd /data;
for i in `ls -a`;
do
if [ $i != ".." -a $i != "." ]
then
if [ ! -h /data/$i ]
then
if [ ! -h /sd-ext/$i ]
then
busybox ln -s /data/$i /sd-ext/$i;
fi;
fi;
fi;
done;
cd /;

#-- Of Finished.... :D