As you probably know, Delphi Datasnap is ony available in Enterprise editions. After I bought Delphi XE2 Pro, I decided that I'd like to rewrite my Delphi 2006 Datasnap app in XE2, but no can do.
BUT, I FOUND A WAY TO CREATE A TRUE MULTI-TIER APP, using just Delphi code (no custom components) and Indy 10. I have a working client-server system. And, I'd be happy to share my code, or even send you or anyone a client EXE to prove this works.
THE CLIENT
What I am doing should port to Lazarus without much trouble. The client just uses Pascal and Indy 10. The only client component that I am using which is Delphi-specific is TClientDataset, which could be replaced with any good in-memory table. I do use some TClientDataset events and you would have to code these or use a replacement that has these events built-in. And, my system does not resolve edit concurrency issues. Who ever changes a field last gets their edits posted.
THE SERVER doesn't use anything that Lazarus couldn't have. Of course, you must have Indy 10 installed in your dev environment. That's all. I don't use any multi-tier components that are not available in standard or pro Delphi editions. Really!