Lou,
Like EricDraven, I've had no troubles deploying Delphi 5 applications under Win2K.
There are some considerations regarding installation and you need to use NT specific techniques, especially when making API calls, however standard VCL applications should work fine.
I would make certain you've installed the appropriate service packs, patches, updates, and so forth. Check to see if Windows is up to date, Delphi, BDE (if you're using it), and any third-party components (including the ones shipped with Delphi: QuickReports, NetManage, etc.)
Without more information regarding the "strange behavior," it's tough to hazard a guess, but I'd try to determine where the behavior is appearing and go from there. Make sure you're properly releasing previously allocated memory and so on.
One trick I use is to subclass the Exception object (or appropriate decendent) when raising exceptions. For example, consider:
Code:
unit xyzzy
// stuff...
interface
// more stuff...
type
tXyzzyException = class( Exception );
const
ERROR = 'An error occurred in the Xyzzy unit.' + #10#10 +
'Details: %s.';
// even more stuff...
implementation
procedure magicWord
begin
if not Something() then
raise tXyzzyException.createFmt( ERROR,
[ 'MagicWord() - Something failed.' ] );
end;
// etc...
Something like the above at least tells you where you raised a custom exception. When combined with various try blocks to trap unexpected conditions, it's a very useful debugging aid.
Hope this helps...
-- Lance