Ok, got your code, reading it right now.

Did you change Ethernet.cpp to get this working? And what exactly did you change?
The first thing I'll be doing is to try remaking you sketch, so I understand everything happening. Then I'll put all your HTML in Flash memory, so we have more SRAM. Also I want to have a separate SETUP page, which won't be to hard, because I bought the Arduino Cookbook (amazone kindle for ipad). It has a sketch that just does that.
This way you can have the SETUP page at
http://IP-address/setup and your normal webpage at
http://IP-address.
If you don't mind, I'll be posting this in my own Topic and If I make progress I'll post it here too.
So this is the idea I would use (this is not a sketch):
READ EEPROM "TYPE"
IF "type" = "" (empty)
THEN USE PRESET (IP=192.168.1.2, MASK=255.255.255.0,GW=192.168.1.2,MAC=DE:AD:BE:EF:FE:ED)
ELSE
IF "type" = "STATIC"
IF "IP" = "" (empty)
USE PRESET AND SET TO USE AND PUBLISH
ELSE READ EEPROM "IP" AND SET TO USE AND PUBLISH
IF "MASK" ="" (empty)
THEN USE PRESET AND SET TO USE AND PUBLISH
ELSE READ EEPROM "MASK" AND SET TO USE AND PUBLISH
IF "GW" = "" (empty)
THEN USE PRESET AND SET TO USE AND PUBLISH
ELSE READ EEPROM "GW" AND SET TO USE AND PUBLISH
IF "MAC" = ""(empty)
THEN USE PRESET AND SET TO USE AND PUBLISH
ELSE READ EEPROM "MAC" AND SET TO USE AND PUBLISH
ELSE USE DHCP AND SET TO USE AND PUBLISH (on the setuppage)
START WEBPAGE
IF URL= IP
GOTO WEBPAGE (made by user, and what if user wants multiple pages?)
ELSE
IF URL = IP/setup (like in
http://192.168.1.2/setup)
GOTO SETUPPAGE
ELSE SHOW ERROR PAGE
SETUPPAGE
USE TYPE, IP, MASK, GW, MAC AND PUBLISH
SHOW FILLOUT FORM FOR TYPE, IP, MASK, GW, MAC AND PUBLISH
SHOW SUBMIT BUTTON
WEBPAGE
USE TYPE, IP, MASK, GW, MAC
SHOW WEBPAGE (made by user)
SUBMIT BUTTON
WRITE TYPE, IP, MASK, GW, MAC AND PUBLISH TO EEPROM
RESET ARDUINO