I have a solid answer, but you might not like it. :-)
The ASP.NET and ASP issue is fairly easy to solve. You simply make a COM
wrapper for the assembly. There is a tool called regasm.exe, in the
Framework, that allows you to both create the COM wrapper and register in
the Registry. Nice tool.
The 1.1 and 2.0 issue is a different story. There are two ways I can
recommend.
Way #1:
Create a 1.1 assembly and compile it. You can then use it in 2.0
applications, but I would consider recompiling in 2.0 regardless, as it is
more efficient.
Way #2
Create a 2.0 assembly and a web service (ASMX or WCF) to wrap it as a
service. Then, call this service from 1.1. Not true reuse, but it is a great
way to provide to all sorts of applications, .NET or otherwise.

Signature
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
http://gregorybeamer.spaces.live.com
Co-author: Microsoft Expression Web Bible (upcoming)
************************************************
Think outside the box!
************************************************
> Alright after much researching, I've come to the conclusion that I
> need to post this here hoping to get a solid answer. I'm looking to
[quoted text clipped - 10 lines]
> situation i'm looking for is 2.0 coding and then using that in the
> other places. Does anyone have a solid answer out there?